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

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

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

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

千萬級數(shù)據(jù)并發(fā)如何處理?進入學習

推薦學習:《SQL教程》

一、DDL(Data Definition Language)

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

查詢

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

show databases;
登錄后復制

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

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

select database();
登錄后復制

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

創(chuàng)建

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

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

刪除

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

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

使用

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

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

表操作-創(chuàng)建

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

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

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

表操作-修改

添加字段

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

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

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

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

修改字段名和字段類型

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

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

刪除字段

alter table 表名 drop 字段名;
登錄后復制

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

修改表名

alter table 表名 rename to 新表名;
登錄后復制

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

表操作-刪除

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

drop table [if exists] 表名;
登錄后復制

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

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

truncate table 表名;
登錄后復制

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

二、DML(Data Manipulation Language)

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

輔助用建表格式

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 '員工信息表';
登錄后復制

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

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

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

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

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

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

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

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

[注]:

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

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

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

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

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

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

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

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

delete from 表名 [where 條件];
登錄后復制

根據(jù)實例整理總結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

輔助建表內容

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');
登錄后復制

基本查詢

查詢多個字段

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

設置別名

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

去除重復記錄

select distinct 字段列表 from 表名;
登錄后復制

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

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

條件查詢

語法

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

條件

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

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

聚散函數(shù)

常見聚合函數(shù)

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

語法

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

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

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

分組查詢

語法

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

where 與 having 區(qū)別

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

having是分組之后對結果進行過濾。

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

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

排序查詢

語法

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

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

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

分頁查詢

語法

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

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

[注]:

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

案例練習

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

整體語法順序

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

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


四、DCL(Data Control Language)

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

管理用戶

查詢用戶

use mysql; select *from user;
登錄后復制

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

創(chuàng)建用戶

create user '用戶名'@'主機名' identified '密碼';
登錄后復制

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

修改用戶密碼

alter user '用戶名'@'主機名' identified with mysql_native_password by '新密碼';
登錄后復制

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

刪除用戶

drop user '用戶名'@'主機名';
登錄后復制

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

[注]:

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

權限控制

常用的權限

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

查詢權限

show grants for '用戶名'@'主機名';
登錄后復制

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

授予權限

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

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

撤銷權限

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

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

[注]:

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

推薦學習:《SQL教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国产成人精品无缓存在线播放| 蜜臀久久99精品久久久久久小说 | 国产精品超碰12396| 国产伦精品一区二区三区无广告 | 国产精品一区二区毛卡片| 国产成人精品天堂| 国内精品福利在线视频| 无码区日韩特区永久免费系列| 国产亚洲精品第一综合| 狠狠精品久久久无码中文字幕 | 国产亚洲精品观看91在线| 国产精品麻豆入口| 人妻无码精品久久亚瑟影视| 日韩精品久久久久久| 依依成人精品视频在线观看| 精品伊人久久久久网站| 国产精品亚洲精品久久精品| 亚洲精品无码高潮喷水A片软| 亚洲精品免费网站| 久久久久久亚洲精品影院| 99国产精品国产精品九九| 玖玖精品在线视频| 精品国精品国产自在久国产应用| 2022国内精品免费福利视频| 国产精品嫩草影院线路| 91精品国产高清久久久久| 亚洲国产精品自在线一区二区| 久久精品中文字幕| 国产suv精品一区二区33| 亚洲国产精品成人久久| 久久免费观看国产精品88av| 久久国产精品免费观看| 久久精品久久精品久久精品| 久久精品*5在热| 日韩欧精品无码视频无删节| 亚洲日韩在线中文字幕综合| 日韩中文字幕精品免费一区| 四虎国产精品免费视| 国产乱码一二三区精品| 国产在线精品一区二区在线看| 免费在线精品视频|