一直在用AI做后端,經(jīng)常看到數(shù)據(jù)庫的語句,但是不知道有多少種語句,于是就問了AI,這樣以后有點印象。數(shù)據(jù)庫常用語句包括數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)、數(shù)據(jù)查詢語言(DQL)等。
一、數(shù)據(jù)定義語言(DDL)
數(shù)據(jù)庫操作:
創(chuàng)建數(shù)據(jù)庫:CREATE DATABASE 庫名;
判斷數(shù)據(jù)庫是否存在并創(chuàng)建:CREATE DATABASE IF NOT EXISTS 庫名;
查看所有數(shù)據(jù)庫:SHOW DATABASES;
使用數(shù)據(jù)庫:USE 庫名;
查看數(shù)據(jù)庫結(jié)構(gòu)定義信息:SHOW CREATE DATABASE 庫名;
刪除數(shù)據(jù)庫:DROP DATABASE 庫名;
修改數(shù)據(jù)庫字符集:ALTER DATABASE 庫名 CHARACTER SET utf8;
表操作:
創(chuàng)建表:CREATE TABLE 表名(字段1 類型1,字段2 類型2,...);
查看表結(jié)構(gòu):DESC 表名;
查看創(chuàng)建表的SQL語句:SHOW CREATE TABLE 表名;
修改表名:ALTER TABLE 表名 RENAME TO 新的表名;
添加字段:ALTER TABLE 表名 ADD 字段名 字段類型;
修改字段名:ALTER TABLE 表名 RENAME COLUMN 字段名 TO 新的字段名;
修改字段類型:ALTER TABLE 表名 MODIFY COLUMN 字段名 新的字段類型;
刪除字段:ALTER TABLE 表名 DROP 字段名;
刪除表:DROP TABLE 表名;
判斷表是否存在并刪除:DROP TABLE IF EXISTS 表名;
二、數(shù)據(jù)操作語言(DML)
插入數(shù)據(jù):
指定所有字段插入:INSERT INTO 表名(字段1,字段2,...) VALUES(值1,值2,...);
不指定字段插入(按表結(jié)構(gòu)順序):INSERT INTO 表名 VALUES(值1,值2,...);
刪除數(shù)據(jù):
刪除指定條件的數(shù)據(jù):DELETE FROM 表名 WHERE 字段 = 值;
刪除表中所有數(shù)據(jù):DELETE FROM 表名; 或 DELETE * FROM 表名;
快速刪除表中所有數(shù)據(jù)(先刪表再重建空表):TRUNCATE TABLE 表名;
修改數(shù)據(jù):UPDATE 表名 SET 字段 = 值 WHERE 條件;
三、數(shù)據(jù)查詢語言(DQL)
無條件查詢:SELECT * FROM 表名;
條件查詢:
單個條件:SELECT * FROM 表名 WHERE 字段 = 值;
多個條件:SELECT * FROM 表名 WHERE 條件1 AND 條件2;
范圍查詢:
使用BETWEEN:SELECT * FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2;
使用IN:SELECT * FROM 表名 WHERE 字段 IN (值1,值2,...);
模糊查詢:
查詢以某個字符開頭:SELECT * FROM 表名 WHERE 字段 LIKE '字符%';
查詢包含某個字符:SELECT * FROM 表名 WHERE 字段 LIKE '%字符%';
去除重復記錄查詢:SELECT DISTINCT 字段 FROM 表名;
排序查詢:
升序:SELECT * FROM 表名 ORDER BY 字段;
降序:SELECT * FROM 表名 ORDER BY 字段 DESC;
聚合函數(shù)查詢:
計數(shù):SELECT COUNT(字段) FROM 表名;
求和:SELECT SUM(字段) FROM 表名;
求平均值:SELECT AVG(字段) FROM 表名;
求最大值:SELECT MAX(字段) FROM 表名;
求最小值:SELECT MIN(字段) FROM 表名;
分組查詢:SELECT 字段1,聚合函數(shù)(字段2) FROM 表名 GROUP BY 字段1;
連接查詢:
內(nèi)連接:SELECT * FROM 表1 INNER JOIN 表2 ON 表1.關(guān)聯(lián)字段 = 表2.關(guān)聯(lián)字段;
左連接:SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.關(guān)聯(lián)字段 = 表2.關(guān)聯(lián)字段;
右連接:SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1.關(guān)聯(lián)字段 = 表2.關(guān)聯(lián)字段;
四、數(shù)據(jù)控制語言(DCL)
用戶管理:
添加用戶:CREATE USER '用戶名'@'主機' IDENTIFIED BY '密碼';
刪除用戶:DROP USER '用戶名'@'主機';
權(quán)限管理:
授予權(quán)限:GRANT 權(quán)限 ON 數(shù)據(jù)庫.表 TO '用戶名'@'主機';
撤銷權(quán)限:REVOKE 權(quán)限 ON 數(shù)據(jù)庫.表 FROM '用戶名'@'主機';