SQL 基本語法 表庫操作 創建表 創建主鍵約束 刪除主鍵 主鍵自動增長 主鍵欄位後加auto_increment(只適用MySQL) 查看所有的庫 使用庫 查看所有的表 查看表的結構 修改表名 刪除表 數據操作 插入數據 更新數據 刪除數據 查詢操作 查詢並且去掉重覆記錄 別名查詢 while條件 ...
SQL 基本語法
表庫操作
- 創建表
create table 表名(
欄位名 類型(長度) 約束,
欄位名 類型(長度) 約束
);
- 創建主鍵約束
id int primary key,
primary key(id) // 在創建表最後創建主鍵約束
- 刪除主鍵
alter table 表名 drop primary key;
- 主鍵自動增長
主鍵欄位後加auto_increment(只適用MySQL)
- 查看所有的庫
show databases
- 使用庫
use 庫名
- 查看所有的表
show tables;
- 查看表的結構
desc 表名;
- 修改表名
rename table 表名 to 新表名;
- 刪除表
drop table 表名;
數據操作
- 插入數據
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);
- 更新數據
update 表名 set 欄位名=值,欄位名=值 where 條件;
- 刪除數據
delete from 表名 [where 條件];
查詢操作
- 查詢並且去掉重覆記錄
select distinct 欄位 from 表名 where 條件;
- 別名查詢
select * from 表名 as 別名 where 條件;
select 欄位名 as 別名 from 表名 where 條件;;
- while條件的種類
- Or 和 in
SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
- like
SELECT * FROM zhangwu WHERE name LIKE "%支出%";
- not null
SELECT * FROM zhangwu WHERE name IS NOT NULL;
排序查詢
order by 列名 [desc][asc] desc 降序, asc 升序(預設) 最好將order by 函數放到最後
SELECT * FROM zhangwu ORDER BY zmoney DESC ;
聚合函數
聚合函數查詢是縱向查詢,
count:統計指定列不為NULL的記錄行數;
sum:計算指定列的數值和,如果指定列;
max:計算指定列的最大值,
min:計算指定列的最小值,
avg:計算指定列的平均值
SELECT COUNT(*)AS'count' FROM zhangwu
SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%收入%'
分組查詢
分組查詢是指使用group by字句對查詢信息進行分組,一般和聚合函數一起用, 查詢相同欄位的數據
SELECT 欄位1,欄位2… FROM 表名 GROUP BY 欄位 HAVING 條件;
分組操作中的having子語句,是用於在分組後對數據進行過濾的,作用類似於where條件。
having與where的區別
1.having是在分組後對數據進行過濾.
2.where是在分組前對數據進行過濾
3.having後面可以使用分組函數(統計函數)
4.where後面不可以使用分組函數。
select count(id),name from gDemo GROUP BY name // 根據名字分組, 即查詢相同名字的列數有多少
列操作
- 添加列
alter table 表名 add 列名 類型(長度) 約束;
- 修改列
alter table 表名 modify 列名 類型(長度) 約束;
- 更換列
alter table 表名 change 舊列名 新列名 類型(長度) 約束;
- 刪除列
alter table 表名 drop 列名;