個人主頁:【??個人主頁】
系列專欄:【??MySQL】
前言
結構化查詢語句分類
名稱 | 解釋(命令) |
---|---|
DDL(數據定義語言) | 定義和管理數據對象,如數據庫,數據表等(CREATE、DROP、ALTER) |
DML(數據操作語言) | 用于操作數據庫對象中所包含的數據(INSERT、UPDATE、DELETE) |
DQL(數據查詢語言) | 用于查詢數據庫數據 (SELECT) |
DCL(數據控制語言) | 用于管理數據庫的語言,包括管理權限及數據更改 (GRANT、COMMIT、ROLLBACK) |
MySQL語句大全??
注:MySQL不區(qū)分大小寫,所有符號必須使用英文格式下的
DDL(對數據庫和表的操作)??
create database database-name//創(chuàng)建數據庫
drop database dbname //創(chuàng)建數據庫
use 數據庫名//選擇數據庫
create table tabname(
字段名1 類型,
字段名2 類型,
字段名3 類型,…);//創(chuàng)建新表
根據已有的表創(chuàng)建新表
A:create table 新表名 like 舊表名(使用舊表創(chuàng)建新表)
B:create table 新表名 as select 列名1,列名2… from 舊表名 definition only
drop table tabname//刪除表
desc 表名//顯示表的屬性信息
alter table 表名 add 列名 類型 //增加一個列名
指定列名后面添加列名
alter table 表名 add 已有列名 after 列名 類型
first:第一個,before:前一個,end:最后
alter table 表名 drop 列名//刪除一個列名
alter table 表名 change 舊列名 新列名 類型//修改一個列名
alter table 表名 modify 列名(已有) 新的類型//修改類型
Alter table 表名 add primary key(列名)//添加主鍵
Alter table 表名 drop primary key(列名)//刪除主鍵
alter table 表名 add foreign key(列名) references 表名(主鍵)//添加外鍵
刪除外鍵:需要找到外鍵特有的名稱
------------------------------------
①not null:非空約束
②unique:唯一約束
③primary key:主鍵
④foreign key:外鍵
⑤auto_increment:自增長
⑥default:設置默認值 例:default ‘值’//約束類型
DQL(查詢語句)??
關鍵字??
- or:或
- and:和
- having:分組后的附加條件
- group by:分組
- order by:排序:asc:正序,desc:倒序
- in:存在于某個值中
- not in:不存在與某個值中
- inner join … on鏈接多表
- left join … on:左外連接
- right join … on:右外連接
- left(right,inner) out join … on:去重
- count:計數
- AVG:平均值
- sum:求和
- max:最大值
- min:最小值
- like ‘%關鍵字%’:取含有關鍵字的值
- distinct:去重
- round:四舍五入
- where 1=1:全選
- where 1=2:全不選
- limit 1,5:從第二行開始顯示5條數據
- top 10:select top 10 * from 表名:顯示前十條數據
- newid():隨機
select * from 表名 where 范圍//選擇查詢
select * from 表名//完全查詢
select * from 表名 where 列名 like ‘%value%’(查詢包含value的值)//模糊查詢
select * from 表名 order by 列名 desc//排序查詢(倒序,默認為正序)
select count as 別名 from 表名//計數查詢
select sum(field) as 別名 from 表名//求和查詢
select avg(filed) as 別名 from 表名//平均值查詢
select max(filed) as 別名 from 表名//最大值查詢
select min(filed) as 別名 from 表名//最小值查詢
select round(min(filed),要保留的小數位數) as 別名 from 表名//四舍五入查詢
select distinct 列名 from 表名//去重查詢
select * from 表名 group by 列名//分組查詢
select * from 表名 where 列名=‘范圍’ and 列名=‘范圍’//多條件查詢
select * from 表名 where 列名=‘范圍’ or 列名=‘范圍’//不確定條件查詢
select 列名,min(filed)from 表名 where 列名=‘范圍’ group by 列名 having sum(列名)
//多條件分組求值查詢
select * from 表名 where=(select id from 表名 where 列名=‘范圍’)
//子查詢(子查詢的結果作為主查詢的條件)
select * from 表名 inner join 表名 on 主鍵=外鍵(必須有主外鍵)
//連表查詢(內連接)
select * from 表名 inner out join 表名 on 主鍵=外鍵(必須有主外鍵)
//連表查詢(內連接)(去重)
//*注:內連接只顯示相關聯(lián)的數據*
連表查詢(左外連接)(顯示左表的全部信息和右表相關聯(lián)的信息):
//連表查詢(左外連接)(顯示左表的全部信息和右表相關聯(lián)的信息)
select * from 表名 right join 表名 on 主鍵=外鍵(必須有主外鍵)
//連表查詢(右外連接)(顯示右表的全部信息和左表相關聯(lián)的信息)
select * from 表名 full/cross join 表名 on 主鍵=外鍵(必須有主外鍵)
連表查詢(全外連接)(顯示兩個表中的所有記錄)
高級查詢運算詞
A:union(結合兩個結果表并消除其中的重復行而派生出另一個表)
例:select name from 表名1 union select name from 表名2(去除name的重復行)
B:except(通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結果表)
C:intersect(通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結果表)
注:當這三個運算符與all一起使用時不消除重復行
DML(數據操作語句:插入、修改、刪除)??
數據插入
完全插入:insert into 表名 values(值1,值2,值3,…)
選擇插入:insert into 表名(列名1,列名2,列名,3…) values(值1,值2,值3,…)
批量插入:insert into 表名 values(值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…)…
注1:完全插入可以省略列名,但是值必須包含所有字段,批量插入類同
注2:選擇插入必須選擇需要插入的字段,選擇對應字段的值,批量插入類同
修改語句
update 表名 set 列名=‘值’ where 列名=‘范圍’
where 1=1(全選)
where 1=2(全不選)
注:不加where條件為修改所有指定列的值
刪除語句
delete from 表名 where 列名=‘范圍’
注:不加where條件為刪除所有的值文章來源:http://www.zghlxwxcb.cn/news/detail-527179.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-527179.html
到了這里,關于【MySQL】MySQL基本語句大全的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!