SQL基礎語句彙總
引言
是時候複習一波SQL語句的語法了,無需太深,但總得會用啊。
語法
一步步由淺到深,這裡用的都是mysql做的。
基礎
連線資料庫
mysql -h10.20.66.32 -uroot -p123456
-h後面是mysqlServer所在地址,-u後面是使用者名稱,-p後面是密碼
檢視資料庫
show databases;
使用資料庫
use test;
查看錶
show tables;
查看錶結構
desc winton
建表
create table t1(
id int not null primary key,
name char(20) not null
);
語法 create table 表名稱( 欄位名 欄位名型別 欄位描述符,欄位名 欄位型別 欄位描述符);
刪除表
drop table test;
語法:drop table 表名稱;
修改表
新增欄位
alter table t1 add(score int not null);
語法:alter table 表明稱 add(欄位名 型別 描述符);
移除欄位
alter table t1 drop column score;
語法:alter table 表名 drop colunm 欄位名,drop colunm 欄位名;
變更欄位
alter table t1 change name score int not null;
語法:alter table 表名 change 舊欄位名 新欄位名 新欄位描述符
插入
全欄位插入
insert into winton values(001,'zww'),(002,'rs');
語法:insert into 表名 values(欄位1值,欄位2值,……),(欄位1值,欄位2值,……);
個別欄位插入
insert into winton(id) values(004);
檢視插如後的結果,如上圖所示。
語法:insert inton 表名(欄位名) values(值一),(值二);
普通查詢
單表全欄位查詢
select * from t1;
語法:select * from 表名;
單表個別欄位查詢
select id from t1;
語法:select 欄位一,欄位二 from 表名;
多表查詢
select t1.id,t1.score,winton.name from t1,winton;
語法:select 表一欄位,表二欄位,表三欄位,…… from 表一,表二,表三,……;
條件查詢
單表條件查詢
select * from t1 where socre>90;
語法:select 欄位1,欄位2 from 表名 where 條件;
多表條件查詢
select t1.id,t1.score,winton.name from t1,winton where t1.id=winton.id;
語法:select 表一欄位,表二欄位 from 表一,表二 where 條件;
巢狀查詢
select name from winton where id=(select id from t1 where score=90);
語法:select 欄位一,欄位二…… from 表名 where 條件(查詢);
並查詢
(select id from t1 )union(select id from winton);
交查詢
select id from t1 where id in (select id from winton);
刪除
delete from winton where id=4;
語法:delete from 表名 where 條件;
更新
update t1 set score=69 where id=2;
語法:update 表名 set 更改的欄位名=值 where 條件;
常用函式
求和
select sum(score) from t1;
注:sum(欄位) 對字串和時間無效
求平均值
select avg(score) from t1;
注:avg(欄位)對字串和時間無效
計數
select count(*) from t1;
注:count(欄位名)不包含NULL;
求最大值
select max(name) from winton;
注:max(colunm)返回字母序最大的,返回數值最大的
求最小值
select min(name) from winton;
注:min(colunm)返回字母序最小值,返回數值最小值
常用的修飾符
distinct 欄位中值唯一
select distinct name from winton;
limit查詢結果數限制
select * from winton limit 2;
order by 排序
select * from winton order by name;
注:預設是升序
desc 降序
slelect * from winton order by name desc;
asc 升序
select * from winton order by name asc;
group by 分組
select name from winton group by name;
索引
建立普通索引
create index wintonIndex on winton (name);
語法:create index 索引名稱 on 表名 (欄位一,欄位二,……);
建立唯一索引
create unique index wintonIndex on winton (id);
語法:create unique index 索引名 on 表名 (欄位一,欄位二,……);
ps:unique index 要求列中資料唯一,不能出現重複。
移除索引
drop index wintonIndex on winton;
語法: drop index 索引名 on 表名;
結尾
恩,基本能想起來的就值麼多了,都是最基礎,最常用的一些。