目錄
DDL語句?
查詢所有數據庫?
查詢當前數據庫
?切換數據庫?
創建數據庫
創建表
刪除表?
查詢當前數據庫所有表
查詢表結構
查詢指定表的鍵表語句
添加字段
修改數據類型
修改字段名和字段類型
刪除字段
修改表名
刪除表
刪除指定表,并重新創建該表
?DML語句
給指定字段添加數據
給全部字段添加數據
批量添加數據
DQL語句
?查詢多個字段
設置別名
去重
查詢特定數據
?排序
分頁查詢
分組查詢
?DCL語句
查詢用戶
創建用戶
修改用戶密碼
刪除用戶
查詢權限
授予權限
撤銷權限
DDL語句?
DDL語句(Data Definition Language)數據定義語言,用來定義數據庫對象(數據庫,表,字段)
查詢所有數據庫?
SHOW DATABASES;
查詢當前數據庫
SELECT DATABASE();
?切換數據庫?
USE 數據庫名;
創建數據庫
CREATE DATABASE [IF NOT EXISTS] 數據庫名 [DEFAULT CHARSET 字符集] [COLLATE 排序規則];
創建表
CREATE TABLE 表名(字段1 字段1類型[COMMENT '字段1的注釋'],字段2 字段2類型[COMMENT '字段2的注釋'],......字段n 字段n類型[COMMENT '字段n的注釋']#此處無',')[COMMENT 表注釋];
刪除表?
DROP DATABASE[IF EXISTS] 數據庫名;
查詢當前數據庫所有表
SHOW TABLES;
查詢表結構
DESC 表名;
查詢指定表的鍵表語句
SHOW CREATE TABLE 表名;
123.45 精度:5 標度:2
age tinyint unsigned#無符號
score double(4,1)#長度為4,小數點后1位
定長字符串char(10)#滿不滿都是10B的空間,不滿的用空格補位 性能較高
變長字符串varchar(10)#依據內容計算空間
記錄birthday可以用date數據類型
添加字段
ALTER TABLE 表名 ADD 字段名 類型(長度) [COMMENT 注釋] [約束];
修改數據類型
ALTER TABLE 表名 MODIFY 字段名 新數據類型(長度);
修改字段名和字段類型
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型(長度) [COMMENT 注釋] [約束];
刪除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
刪除表
DROP TABLE [IF EXISTS] 表名;
刪除指定表,并重新創建該表
TRUNCATE TABLE 表名;
?DML語句
DML語句(Data Manipulation Language)數據操作語言,用來對數據庫表中的數據進行增刪改
給指定字段添加數據
INSERT INTO 表名(字段名1,字段名2,...)VALUES (值1,值2,...);
給全部字段添加數據
INSERT INTO 表名 VALUES (值1,值2,...);#需要注意一一對應
批量添加數據
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值1,值2...),(值1,值2,...),(值1,值2...);
INSERT INTO 表名 VALUES(值1,值2...)(值1,值2...)(值1,值2,...);
UPDATE 表名 SET 字段名1=值1,字段名2=值2,...[WHERE 條件];#沒寫條件就代表要修改整張表的數據
DELETE FROM 表名 [WHERE 條件];#不加條件會刪除整張表的所有數據
DQL語句
DQL語句(Data Query Language)數據查詢語言,用來查詢數據庫中表的記錄
?查詢多個字段
SELECT 字段1,字段2,字段3... FROM 表名;
SELECT * FROM 表名;
設置別名
SELECT 字段1 [AS 別名1] 字段2 [AS 別名2]...FROM 表名;#AS可以省略
去重
SELECT DISTINCT 字段列表 FROM 表名;
查詢特定數據
SELECT 字段列表 FROM 表名 WHERE 條件列表;
like 模糊匹配
'_'匹配單個字符
'%'匹配任意個字符
查詢兩個emp表中name兩個字的人的信息
select * from emp where name like '__';
?排序
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
排序方式:ASC 升序(默認值)?DESC 降序?
分頁查詢
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查詢記錄數;
起始索引從0開始,起始索引等于(查詢頁碼 - 1)* 每頁顯示記錄數;
如果是第一頁數據,起始索引可以省略不寫
分組查詢
SELECT 字段列表 FROM 表名列表 WHERE 條件列表 GROUP BY 分組字段列表 HAVING [分組后過濾條件];
where在分組之前進行過濾,不滿足where不參與分組
having是分組之后對結果進行過濾
where不能對聚合函數進行判斷,而having可以
where > 聚合函數 > having
?DCL語句
DCL語句(Data Control Language)數據控制語言,用來創建數據庫用戶,控制數據庫的訪問權限
查詢用戶
use mysql;
select * from user;
創建用戶
CREATE USER ‘用戶名’ @'用戶名主機' IDENTIFIED BY '密碼';
修改用戶密碼
ALTER USER '用戶名'@'主機名' IDENTIFIED WITH mysql_native_password BY '新密碼';
刪除用戶
DROP USER '用戶名'@'主機名';
查詢權限
SHOW GRANTS FOR '用戶名'@'主機名' ;
授予權限
GRANT 權限列表 ON 數據庫名.表名 TO '用戶名'@'主機名';
撤銷權限
REVOKE 權限列表 ON 數據庫.表名 FROM '用戶名'@'主機名'