DDL語句:資料庫定義語言,一般是對資料庫的操作,create,drop,alter等 DML語句:數據操作語言,curd操作 DDL: create databases 資料庫名 //創建一個資料庫 show databases 資料庫名 //查看資料庫 use databases 資料庫名 // ...
DDL語句:資料庫定義語言,一般是對資料庫的操作,create,drop,alter等
DML語句:數據操作語言,curd操作
DDL:
create databases 資料庫名 //創建一個資料庫
show databases 資料庫名 //查看資料庫
use databases 資料庫名 //使用資料庫
drop databases 資料庫名 //刪除資料庫 刪除資料庫後資料庫中的庫和表全部會被清空
#創建資料庫
create table 資料庫名(
column_name(欄位名) column_type(數據類型) constraints(約束條件,一般為空非空預設等)
)
desc 數據表名 查看數據表的信息
show create table 資料庫表名 \G 查看數據表信息(全面) \G是代表豎向排列
drop table 數據表名 刪除數據表
#一般對已經創建好的表,需要做結構上的變動就需要alter table 語句
alter table 數據表名 modify column_name(欄位名) column_type(數據類型) //修改表欄位,只能修改其欄位類型
alter table 數據表名 add column_name(欄位名) column_type(數據類型) //新增數據表欄位
alter table 數據表名 drop column column_name(欄位名) //刪除數據欄位
alter table 數據表名 change column_name(列名) column_type(數據類型) //修改欄位名,可以修改欄位名和欄位類型,比modify多一個功能
alter table 數據表名 rename 表名 //修改數據表名
其中有first | after ,這個兩個關鍵字是欄位排序、
DML語句:
insert into 表名 values(value1,value2,...) 新增數據,values後面的順序要和欄位的的排序一致,有預設值的欄位,自增的欄位可以不用寫在values後面
insert into 表名 (欄位1,欄位2) values (value1,value2)
第二種方式可以大大提升插入資料庫的效率
update 表名 set 欄位 = value [wehere 條件] 修改數據,也可以多表一同更新
delete from 表名 [where 條件] 刪除數據,也可以刪除多表或關聯的表
刪除表或更新的時候需要加更新條件,不然很容易修改整個表或刪除整個表
select * from 表名 查詢數據
select distinct 欄位 from 表名 查詢這個表這個欄位不重覆的數據
select * from 表名 where[條件] 條件查詢
select * from 表名 order by 欄位 desc|asc 排序查詢,關鍵字是order by 其中desc是倒序排,asc是正序排
select * from 表名 limit[條數] limit起始偏移量
#聚合
count 記錄數
sum 求和
max 最大值
min 最小值
一般都是和GROUP BY 分組一起使用
HAVING 對分組後的結果在進行條件的過濾
where和having的區別在於,haveing是對聚合後的結果進行條件的過濾,而where是聚合前進行了過濾,一般先用where進行過濾,在進行having過濾
#表連接[內連接,外連接]
內連接:僅選出兩張表中相互匹配的記錄
外連接:選出其他不匹配的記錄
內連接: select * from 表1,表2, where 表1.欄位名1 = 表2.欄位名2
外連接:
左連接:包含左表中的記錄和右表中沒有和他匹配的記錄 select * from 表1 left join 表2 on 表1.欄位1 = 表2.欄位2 left join
右連接:包含右表中的記錄和左表中沒有和他匹配的記錄 select * from 表1 right join 表2 on 表1.欄位1 = 表2.欄位2 right join
#記錄聯合UNION 和 UNION ALL的區別
UNION ALL 是將結果集直接合併在一起
UNION 是將合併後的結果在一次進行distinct(去重)操作
還有一個DCL一句是對資料庫許可權的操作一般為grant 和 revoke