站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

根據(jù)實例整理總結(jié)SQL基本語句

本篇文章給大家?guī)砹岁P(guān)于SQL的相關(guān)知識,其中主要介紹了關(guān)于SQL基本語句的整理,包括了DDL、DML、DQL等等內(nèi)容,下面一起來看一下,希望對大家有幫助。

根據(jù)實例整理總結(jié)SQL基本語句

千萬級數(shù)據(jù)并發(fā)如何處理?進(jìn)入學(xué)習(xí)

推薦學(xué)習(xí):《SQL教程》

一、DDL(Data Definition Language)

數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象(數(shù)據(jù)庫,表,字段)

查詢

查詢所有數(shù)據(jù)庫

show databases;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

查詢當(dāng)前數(shù)據(jù)庫

select database();
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

創(chuàng)建

create database [if not exists] 數(shù)據(jù)庫名 [default charset 字符集][collate 排序規(guī)則];  #中括號里的可加可不加,具體情況而定 #第一個是如果不存在相同名稱的數(shù)據(jù)庫則創(chuàng)建 #第二個是設(shè)置字符的字符集和排序規(guī)則
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

刪除

drop database [if exists] 數(shù)據(jù)庫名;  #中括號是如果存在相同名稱的數(shù)據(jù)庫就刪除
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

使用

use 數(shù)據(jù)庫名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

表操作-創(chuàng)建

create table 表名 (         字段1 字段1類型[comment 字段1注釋],         字段2 字段2類型[comment 字段2注釋],         字段3 字段3類型[comment 字段3注釋],         ......         字段n 字段n類型[comment 字段n注釋] )[comment 表注釋];
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

注:[….]為可選參數(shù),最后一個字段后面沒有逗號

表操作-修改

添加字段

alter table 表名 add 字段名 類型(長度) [comment 注釋][約束];
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

修改數(shù)據(jù)類型

alter table 表名 modify 字段名 新數(shù)據(jù)類型(長度);
登錄后復(fù)制

修改字段名和字段類型

alter table 表名 change 舊字段名 新字段名 類型(長度)[comment 注釋][約束];
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

刪除字段

alter table 表名 drop 字段名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

修改表名

alter table 表名 rename to 新表名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

表操作-刪除

刪除表(讓指定表從數(shù)據(jù)庫消失)

drop table [if exists] 表名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

刪除指定表,并重新創(chuàng)建該表(俗稱格式化)

truncate table 表名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

二、DML(Data Manipulation Language)

數(shù)據(jù)操作語言,用來對數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行增刪改

輔助用建表格式

create table worktable( id int comment '編號', worknum int comment '工號', name varchar(20) comment '姓名', sex char(1) comment '性別', age int comment '年齡', idcard int comment '身份證號', entrydate date comment '入職日期' )comment '員工信息表';
登錄后復(fù)制

添加數(shù)據(jù)

給指定字段添加數(shù)據(jù)

insert into 表名(字段名1,字段名2,.....) values(值1,值2,......);
登錄后復(fù)制

給全部字段添加數(shù)據(jù)

insert into 表名 values (值1,值2,.....);
登錄后復(fù)制

批量添加數(shù)據(jù)

insert into 表名(字段名1,字段名2,.....)  values(值1,值2,......),(值1,值2,......),(值1,值2,......);   insert into 表名  values (值1,值2,.....),(值1,值2,......),(值1,值2,......);
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:

· 插入數(shù)據(jù)時,指定的字段順序需要與值的順序是一一對應(yīng)的

·字符串和日期型數(shù)據(jù)應(yīng)該包含在引號中

·插入的數(shù)據(jù)大小,應(yīng)該在字段的規(guī)定范圍內(nèi)

修改數(shù)據(jù)

update 表名 set 字段名1=值1,字段名2=值2,....[where 條件];
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:修改語句的條件可以有,也可以沒有,如果沒有條件,則會修改整張表的所有數(shù)據(jù)

刪除數(shù)據(jù)

delete from 表名 [where 條件];
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:

·delete語句的條件可以有,也可以沒有,如果沒有條件,則會刪除整張表的所有數(shù)據(jù)

·delete語句不能刪除某一個字段的值(可以使用update)

三、DQL(Data Query Language)

數(shù)據(jù)查詢語言,用來查詢數(shù)據(jù)庫中表的記錄

整體語法概覽

select 字段列表
from 表名列表
where 條件列表
group by 分組字段列表
having 分組后條件列表
order by 排序字段列表
limit 分頁參數(shù)
  • 基本查詢
  • 條件查詢(where
  • 聚合函數(shù)(count,max,min,avg,sum
  • 分組查詢(group by
  • 排序查詢(order by
  • 分頁查詢(limit

輔助建表內(nèi)容

create  table emp( id             int                comment '編號', worknum        varchar(10)        comment '工號', name           varchar(10)        comment '姓名', gender         char(1)            comment '性別', age            tinyint unsigned   comment '年齡', idcard         char(18)           comment '身份證號', workaddress    varchar(50)        comment '工作地址', entrydate      date               comment '入職時間' )comment '員工表';  insert into emp (id,worknum,name,gender,age,idcard,workaddress,entrydate) values  (1,'1','柳巖','女',20,'123456789012345678','北京','2000-01-01'),         (2,'2','張無忌','男',18,'123456789012345670','北京','2005-09-01'),         (3,'3','韋一笑','男',38,'123456789712345670','上海','2005-08-01'),         (4,'4','趙敏','女',18,'123456757123845670','北京','2009-12-01'),         (5,'5','小昭','女',16,'123456769012345678','上海','2007-07-01'),         (6,'6','楊逍','男',28,'12345678931234567X','北京','2006-01-01'),         (7,'7','范瑤','男',40,'123456789212345670','北京','2005-05-01'),         (8,'8','黛綺絲','女',38,'123456157123645670','天津','2015-05-01'),         (9,'9','范涼涼','女',45,'123156789012345678','北京','2010-04-01'),         (10,'10','陳友諒','男',53,'123456789012345670','上海','2011-01-01'),         (11,'11','張士誠','男',55,'123567897123465670','江蘇','2015-05-01'),         (12,'12','常遇春','男',32,'123446757152345670','北京','2004-02-01'),         (13,'13','張三豐','男',88,'123656789012345678','江蘇','2020-11-01'),         (14,'14','滅絕','女',65,'123456719012345670','西安','2019-05-01'),         (15,'15','胡青牛','男',70,'12345674971234567X','西安','2018-04-01'),         (16,'16','周芷若','女',18,null,'北京','2012-06-01');
登錄后復(fù)制

基本查詢

查詢多個字段

select 字段1,字段2,字段3.....from 表名; select *from 表名;
登錄后復(fù)制

設(shè)置別名

select 字段1 [as 別名1],字段2 [as 別名2] .... from 表名;  #as可省略
登錄后復(fù)制

去除重復(fù)記錄

select distinct 字段列表 from 表名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

根據(jù)實例整理總結(jié)SQL基本語句

條件查詢

語法

select 字段列表 from 表名 where 條件列表;
登錄后復(fù)制

條件

比較運算符 功能 邏輯運算符 功能
> 大于 and 或 && 并且(多個條件同時成立)
>= 大于等于 or 或 || 或者(多個條件任意一個成立)
< 小于 not 或 ! 非,不是
<= 小于等于
= 等于
<> 或 != 不等于
between…and… 在某個范圍內(nèi)(含最小,最大值)
in(…..) 在in之后的列表中的值,多選一
like 占位符 模糊匹配(_匹配單個字符,%匹配任意個字符)
is null 是null

根據(jù)實例整理總結(jié)SQL基本語句

聚散函數(shù)

常見聚合函數(shù)

函數(shù) 功能
count 統(tǒng)計數(shù)量
max 最大值
min 最小值
avg 平均值
sum 求和

語法

select 聚合函數(shù)(字段列表) from 表名;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:null值不參與所有聚合函數(shù)運算

分組查詢

語法

select 字段列表 from 表名 [where 條件] group by 分組字段名 [having 分組過濾條件];
登錄后復(fù)制

where 與 having 區(qū)別

1.執(zhí)行時機(jī)不同:where是分組之前進(jìn)行過濾,不滿足where條件,不參與分組;

having是分組之后對結(jié)果進(jìn)行過濾。

2.判斷條件不同:where不能對聚合函數(shù)進(jìn)行判斷,而having可以。

根據(jù)實例整理總結(jié)SQL基本語句

排序查詢

語法

select 字段列表 from 表名 order by 字段1 排序方式1 , 字段2 排序方式2;  #排序方式 #asc:升序(默認(rèn)值) #desc:降序
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:如果是多字段排序,當(dāng)?shù)谝粋€字段值相同時,才會根據(jù)第二個字段進(jìn)行排序。

分頁查詢

語法

select 字段列表 from 表名 limit 起始索引,查詢記錄數(shù);
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:

  • 起始索引從0開始,起始索引 = (查詢頁碼 – 1) * 每頁顯示記錄數(shù)
  • 分頁查詢是數(shù)據(jù)庫的方言,不同的數(shù)據(jù)庫有不同的實現(xiàn),MySQL中是limit
  • 如果查詢的是第一頁數(shù)據(jù),起始索引可以省略,直接簡寫為limit 10

案例練習(xí)

根據(jù)實例整理總結(jié)SQL基本語句

整體語法順序

根據(jù)實例整理總結(jié)SQL基本語句

根據(jù)實例整理總結(jié)SQL基本語句


四、DCL(Data Control Language)

數(shù)據(jù)控制語言,用來創(chuàng)建數(shù)據(jù)庫用戶,控制數(shù)據(jù)庫的訪問權(quán)限

管理用戶

查詢用戶

use mysql; select *from user;
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

創(chuàng)建用戶

create user '用戶名'@'主機(jī)名' identified '密碼';
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

修改用戶密碼

alter user '用戶名'@'主機(jī)名' identified with mysql_native_password by '新密碼';
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

刪除用戶

drop user '用戶名'@'主機(jī)名';
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:

  • 主機(jī)名可以使用%通配
  • 這類SQL開發(fā)人員操作的比較少,主要是DBA(Database Administrator)使用

權(quán)限控制

常用的權(quán)限

權(quán)限 說明
all,all privileges 所有權(quán)限
select 查詢數(shù)據(jù)
insert 插入數(shù)據(jù)
update 修改數(shù)據(jù)
delete 刪除數(shù)據(jù)
alter 修改表
drop 刪除數(shù)據(jù)庫/表/視圖
create 創(chuàng)建數(shù)據(jù)庫/表

查詢權(quán)限

show grants for '用戶名'@'主機(jī)名';
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

授予權(quán)限

grant 權(quán)限列表 on 數(shù)據(jù)庫名.表名 to '用戶名'@'主機(jī)名';
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

撤銷權(quán)限

revoke 權(quán)限列表 on 數(shù)據(jù)庫名.表名 from '用戶名'@'主機(jī)名';
登錄后復(fù)制

根據(jù)實例整理總結(jié)SQL基本語句

[注]:

  • 多個權(quán)限之間,使用逗號分割
  • 授權(quán)時,數(shù)據(jù)庫名和表名可以使用 * 進(jìn)行通配,代表所有

推薦學(xué)習(xí):《SQL教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
99精品一区二区三区| 国产精品186在线观看在线播放| 国产精品videossex另类| 五月天婷婷精品视频| 久久夜色精品国产噜噜噜亚洲AV| 成人区精品人妻一区二区不卡| 亚洲日韩国产精品乱| 麻豆国产96在线日韩麻豆| 日韩精品无码久久一区二区三| 精品国产柚木在线观看| 国产人妻777人伦精品hd| 99精品国产免费久久久久久下载| 日本亚洲精品色婷婷在线影院| 中文字幕亚洲综合精品一区| 99久久人妻精品免费一区| 无码人妻精品一区二区三区99仓本| 青青草国产精品久久| 九九精品免视看国产成人| 69精品人人人人| 成人区精品人妻一区二区不卡| 视频一区精品自拍| 成人午夜精品无码区久久| 精品国产福利久久久| 国产办公室秘书无码精品99| 国产精品免费观看调教网| 久久精品视频一区二区三区| 久久九九国产精品怡红院 | 99视频精品国在线视频艾草| 亚洲精品综合久久中文字幕| 2019天堂精品视频在线观看| 91午夜精品亚洲一区二区三区| 精品无码免费专区毛片| 亚洲欧洲国产成人精品| 久久精品国产久精国产果冻传媒| 国产精品国产三级国产专播 | 成人国产精品一区二区网站| 精品福利一区3d动漫| 无码精品人妻一区二区三区AV| 538国产精品一区二区在线| 国产精品亚洲精品日韩已方| 国产午夜亚洲精品国产成人小说|