1. 程式人生 > >SQL基礎語句彙總

SQL基礎語句彙總

引言

是時候複習一波SQL語句的語法了,無需太深,但總得會用啊。

語法

一步步由淺到深,這裡用的都是mysql做的。

基礎

連線資料庫

mysql -h10.20.66.32 -uroot -p123456

-h後面是mysqlServer所在地址,-u後面是使用者名稱,-p後面是密碼

檢視資料庫

show databases;

show databases

使用資料庫

use test;

查看錶

show tables;

tables

查看錶結構

desc winton

desc

建表

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
檢視插如後的結果,如上圖所示。
語法: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;

winton
語法: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 表名;

結尾

恩,基本能想起來的就值麼多了,都是最基礎,最常用的一些。