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

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

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

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

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

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

一、DDL(Data Definition Language)

數(shù)據(jù)定義語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)對(duì)象(數(shù)據(jù)庫(kù),表,字段)

查詢(xún)

查詢(xún)所有數(shù)據(jù)庫(kù)

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

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

查詢(xún)當(dāng)前數(shù)據(jù)庫(kù)

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

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

創(chuàng)建

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

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

刪除

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

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

使用

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

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

表操作-創(chuàng)建

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

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

注:[….]為可選參數(shù),最后一個(gè)字段后面沒(méi)有逗號(hào)

表操作-修改

添加字段

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

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

修改數(shù)據(jù)類(lèi)型

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

修改字段名和字段類(lèi)型

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

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

刪除字段

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

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

修改表名

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

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

表操作-刪除

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

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

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

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

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

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

二、DML(Data Manipulation Language)

數(shù)據(jù)操作語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增刪改

輔助用建表格式

create table worktable( id int comment '編號(hào)', worknum int comment '工號(hào)', name varchar(20) comment '姓名', sex char(1) comment '性別', age int comment '年齡', idcard int comment '身份證號(hào)', 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ù)實(shí)例整理總結(jié)SQL基本語(yǔ)句

[注]:

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

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

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

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

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

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

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

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

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

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

[注]:

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

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

三、DQL(Data Query Language)

數(shù)據(jù)查詢(xún)語(yǔ)言,用來(lái)查詢(xún)數(shù)據(jù)庫(kù)中表的記錄

整體語(yǔ)法概覽

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

輔助建表內(nèi)容

create  table emp( id             int                comment '編號(hào)', worknum        varchar(10)        comment '工號(hào)', name           varchar(10)        comment '姓名', gender         char(1)            comment '性別', age            tinyint unsigned   comment '年齡', idcard         char(18)           comment '身份證號(hào)', workaddress    varchar(50)        comment '工作地址', entrydate      date               comment '入職時(shí)間' )comment '員工表';  insert into emp (id,worknum,name,gender,age,idcard,workaddress,entrydate) values  (1,'1','柳巖','女',20,'123456789012345678','北京','2000-01-01'),         (2,'2','張無(wú)忌','男',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','張士誠(chéng)','男',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ù)制

基本查詢(xún)

查詢(xún)多個(gè)字段

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ù)實(shí)例整理總結(jié)SQL基本語(yǔ)句

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

條件查詢(xún)

語(yǔ)法

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

條件

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

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

聚散函數(shù)

常見(jiàn)聚合函數(shù)

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

語(yǔ)法

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

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

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

分組查詢(xún)

語(yǔ)法

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

where 與 having 區(qū)別

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

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

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

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

排序查詢(xún)

語(yǔ)法

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

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

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

分頁(yè)查詢(xún)

語(yǔ)法

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

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

[注]:

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

案例練習(xí)

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

整體語(yǔ)法順序

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

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


四、DCL(Data Control Language)

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

管理用戶

查詢(xún)用戶

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

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

創(chuàng)建用戶

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

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

修改用戶密碼

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

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

刪除用戶

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

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

[注]:

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

權(quán)限控制

常用的權(quán)限

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

查詢(xún)權(quán)限

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

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

授予權(quán)限

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

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

撤銷(xiāo)權(quán)限

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

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

[注]:

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

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

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
91精品国产自产在线观看| 在线精品自拍无码| 在线播放偷拍一区精品| 国产成人亚洲精品青草天美| AV天堂午夜精品一区| 国产精品福利一区| 国产精品jizz在线观看直播| 久久久影院亚洲精品| 久久99精品国产麻豆婷婷| 日韩精品无码一本二本三本| 亚洲精品免费网站| 无码人妻精品一区二区三区66| 久久人人爽人人精品视频| 亚洲一日韩欧美中文字幕在线| 青青青国产精品视频| 精品久久久无码中文字幕| 日韩人妻无码一区二区三区99 | 精品国产乱码一二三四区五区| 91亚洲精品麻豆| 人妻少妇精品视频一区二区三区 | 91精品综合久久久久久五月天| 午夜激情经典日韩| 成人国产精品秘片多多| 国产高清国内精品福利| 4444亚洲国产成人精品| 无码精品黑人一区二区三区 | 久久精品国产精品亚洲艾| 国内精品无码一区二区三区| 精品一区狼人国产在线| 99久久国产热无码精品免费| 亚洲精品视频观看| 99热这里只/这里有精品| 国产精品免费久久久久电影网| 四虎国产精品永久地址入口| 久久中文字幕精品 | 麻豆aⅴ精品无码一区二区| 国产亚洲婷婷香蕉久久精品| 国内精品伊人久久久久影院对白| 国产成人精品久久| 国产精品videossex白浆| 久久国产热这里只有精品|