mysql嵌入式语句_MySQL/MariaDB 语句速查笔记
平時實際開發的時候,其實并不太依賴 MySQL 作為 關系型數據庫 中的 “關系” 這一屬性,更多地只是把 MySQL 作為數據存儲的介質。因此 MySQL 語句其實很少寫,所以本文用于記錄一些 MySQL 在常規數據操作中的常用語法,備查。少用或者不用的知識就不列了。
基礎 CURD
Create,添加數據
INSERT INTO 表名 (列名, 列名, ...)
VALUES (值, 值)
Update,更新數據
UPDATE 表名 SET 列名=值, 列名=值, ...
WHERE 條件 ...
Read,讀取
基本操作
SELECT 列名, 列名, ... WHERE 條件 ...
獲取數據并去掉重復項
SELECT DISTINCT 列名, 列名, ... WHERE 條件 ...
Delete,刪除
DELETE FROM 表名 WHERE 條件 ...
Find or Create 邏輯
這是一個很實際的需求,業務需要依據條件獲取一個條目,如果不存在,則創建該條目。如果用 select + insert 組合,那么這個操作并不原子。理想情況下是使用 UNIQUE,但很多時候并不行。那么可以采用以下的語句:
INSERT INTO 表名 (列名1, 列名2, 列名3, ...)
SELECT * FROM (SELECT 值1 AS 列名1, 值2 AS 列名2, 值3 AS 列名3, ...) AS tmp
WHERE NOT EXISTS (
SELECT id FROM 表名
WHERE 條件 ...
) LIMIT 1
數據表操作、調整
獲取表信息
desc 表名
獲取表創建語句
show create table 表名
添加字段
# 非空、帶默認值:
ALTER TABLE 表名 ADD 列名 數據類型 NOT NULL DEFAULT 默認值 COMMENT 注釋
# 不帶默認值:
ALTER TABLE 表名 ADD 列名 數據類型 COMMENT 注釋
# 指定添加字段的位置
ALTER TABLE 表名 ADD 列名 數據類型 COMMENT 注釋 AFTER 前一列名
修改字段
# 修改字段類型
ALTER TABLE 表名 MODIFY 列名 數據類型 ... # 后面的 ... 需要和前面添加字段的 “數據類型” 后面的那些項一致
# 修改字段名
ALTER TABLE 表名 CHANGE 列名 新列名 數據類型 ...
MySQL 常用數據類型
整型數值
tinyint:相當于 int8_t
smallint:相當于 int16_t
int:相當于 int32_t
bigint:相當于 int64_t,建議用 bigint 存 timestamp 類型
上述四種數據,可以加上 unsigned 表示無符號數,比如 tinyint unsigned 相當于 uint8_t
定義整型數值時,可以在后面加上括號,寫一個數字,如 int(11),這個數字僅僅表示顯示長度(十進制),不影響實際數據位寬。
字符串
char(n) :固定長度字符串,長度為 n,最大為 255。
varchar(n):變長字符串,最長長度為 n,最大為 65535。
日期和時間
date:日期,格式為 "2008-12-2"
time:僅時間,格式為 "13:15:55" 或 "13:15:55:123"
datetime(m):日期和時間,m 表示秒小數點后的位數
timestamp:不建議用,該值相當于 int32_t,有 2038 年問題
參考資料
原作者: amc,歡迎轉載,但請注明出處。
發布日期:2019-07-02
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql嵌入式语句_MySQL/MariaDB 语句速查笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.1编译安装centos7_
- 下一篇: java的startswith_java