SQL
數(shù)據(jù)庫相關(guān)
show databases;
展示所有數(shù)據(jù)庫
create database [if not exists] 【數(shù)據(jù)庫名】;
新建數(shù)據(jù)庫
drop database [if exists] 【數(shù)據(jù)庫名】;
刪除數(shù)據(jù)庫
use 【數(shù)據(jù)庫名】;
使用數(shù)據(jù)庫
select database();
查看當(dāng)前使用的數(shù)據(jù)庫
表相關(guān)
表的操作需要先選擇數(shù)據(jù)庫后使用奔誓,
創(chuàng)建表:
create table 【表名】(
【字段1】【類型1】[【comment】【注釋1】],
【字段2】【類型2】[【comment】【注釋2】],
【字段3】【類型3】[【comment】【注釋3】]
)[【comment】【表注釋】];
drop table 【表名】
刪除表
describe 【表名】;
查看表的信息
show create table student;
查看建表語句的信息
alter (修改表的操作)相關(guān)語法:
添加一個字段(默認(rèn)放在所有字段的最后面)
alter table 【表名】
add【字段】【類型】[【comment】【注釋】];
添加一個字段闲孤,指定放在開頭
alter table 【表名】
add【字段】【類型】[【comment】【注釋】] frist;
添加一個字段蝙云,指定放在某個字段后面
alter table 【表名】
add【字段】【類型】[【comment】【注釋】] after 【字段(添加的字段將被放在這個字段后面灾部,這個字段是表里已經(jīng)有的)】;
修改一個字段
alter table 【表名】
modify【字段】【類型】[【comment】【注釋】];
刪除一個字段
alter table 【表名】
drop【字段】;
一些類型:
字符串 char()
varchar()
1字節(jié) tinyint
約束:
非空約束:not null
唯一約束: unique
主鍵約束: primary key
//非空且唯一
默認(rèn)約束: default
外鍵約束: foreign key
//保證兩表數(shù)據(jù)一致與完整
語法:alter table 【表名】 add constraint 【外鍵名】 foreign key 【外鍵字段名】 references 【主表字段名】;
desc 【表名】;
展示表信息
show create table 【表名】;
展示創(chuàng)建表時的信息
drop 【表名】 [if exists];
刪除表
truncate table 【表名】;
刪表并重新創(chuàng)建
alter table 【表名】 rename to 【新表名】;
修改表名
字段定義相關(guān)
alter table 【表名】 add 【字段】【類型】[【comment】【注釋】];
添加字段定義
alter table 【表名】 drop 【字段】;
刪除字段定義
alter table 【表名】 modify 【字段】 【新類型】;
修改字段類型
alter table 【表名】 change【字段】 【新字段】 【新類型】[【comment】【新注釋】];
完全改變字段
字段的增刪改
insert into 【表名】 (字段1,字段2,...) values (值1,值2,...),(值1,值2,...);
增加數(shù)據(jù)
全部字段時摆霉,(字段1,字段2,...)可用 ‘ * ’ 代替
update 【表名】 set 【字段1】=【值1】,【字段2】=【值2】[where 【條件】];
修改數(shù)據(jù)
delete from 【表名】 [where 【條件】];
刪除數(shù)據(jù)
字段查找相關(guān)
語法:
select 【查找的字段】 from 【表名】
[where 【條件】]
[group by 【用于分組的字段】[ having 【分組后條件】] ]
[order by 【用于排序的字段1】 【排序方式1】,【用于排序的字段2】 【排序方式2】]
[limit 【起始索引(當(dāng)前展示的頁,默認(rèn)為0宏多,即第一頁)】 【查詢記錄數(shù)(每頁的數(shù)據(jù)數(shù))】
執(zhí)行順序:from->where->groupBy->having->select->orderBy->limit
1.條件
寫在【條件】【分組后條件】中
不等于: !=
<>
空: is null
非空:is not null
and
&&
or
||
數(shù)據(jù)在...中:數(shù)據(jù) in (a,b,c)
模糊匹配
_
:一個字符
%
:任意個字符
在A和B之間的信息:信息 between A and B
2.函數(shù)
寫在【查找的字段】中
數(shù)量 | 最大值 | 最小值 | 平均值 | 求和 |
---|---|---|---|---|
count() | max() | min() | avg() | sum() |
3.排序
寫在【排序方式】中
不寫排序方式:默認(rèn)升序
升序 asc
降序 desc
多表查詢
隱式內(nèi)連接:select 【字段列表】 from 【表1】,【表2】 where 【條件】;
顯式內(nèi)連接:select 【字段列表】 from 【表1】 [inner] join 【表2】 on 【條件】;
左外連接:select 【字段列表】 from 【表1】 left [outer] join 【表2】 on 【條件】;
右外連接:select 【字段列表】 from 【表1】 right[outer] join 【表2】 on 【條件】;
--》:SQL語句中的select系列可以嵌套使用