欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) SQL常用語(yǔ)句大全

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) SQL常用語(yǔ)句大全

http://yzkb.51969.com/

我們?cè)谶M(jìn)行開(kāi)發(fā)工作時(shí),對(duì)數(shù)據(jù)庫(kù)的操作是必不可少的,熟練掌握SQL語(yǔ)句可以讓我們對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)處理變得非常簡(jiǎn)單,所以學(xué)習(xí)SQL語(yǔ)句是非常有必要的,下面匯總了一些常用的SQL語(yǔ)句

SQL語(yǔ)句的類型

DDL(Data Definition Language)數(shù)據(jù)定義語(yǔ)言

DML(Data Manipulation Language)數(shù)據(jù)操作語(yǔ)言

DQL(Data Query Language)數(shù)據(jù)查詢語(yǔ)言

DCL(Data Control Language)數(shù)據(jù)控制語(yǔ)言

DDL

DDL是數(shù)據(jù)定義語(yǔ)言,主要是對(duì)數(shù)據(jù)庫(kù)和數(shù)據(jù)表的操作

(1)操作數(shù)據(jù)庫(kù)

--創(chuàng)建庫(kù)

create database 庫(kù)名;

--創(chuàng)建庫(kù)時(shí)判斷庫(kù)是否存在,不存在則創(chuàng)建

create database if not exists 庫(kù)名;

--查看所有數(shù)據(jù)庫(kù)

show databases;

--使用指定數(shù)據(jù)庫(kù)

use 庫(kù)名;

--查看當(dāng)前指定數(shù)據(jù)庫(kù)包含的數(shù)據(jù)表

show tables;

--查看數(shù)據(jù)庫(kù)的結(jié)構(gòu)定義信息

show create database 庫(kù)名;

--刪除數(shù)據(jù)庫(kù)

drop database 庫(kù)名;

--修改數(shù)據(jù)庫(kù)的字符集為utf8

alter database 庫(kù)名 character set utf8;

(2)操作數(shù)據(jù)表

--創(chuàng)建表

create table 表名(

字段1 類型1,

字段2 類型2,

字段3 類型3,

...........

);

--查看表結(jié)構(gòu)

desc 表名;

--查看創(chuàng)建表的SQL語(yǔ)句

show create table 表名;

--修改表名

alter table 表名 rename to 新的表名;

--添加一個(gè)新的字段

alter table 表名 add 字段; 字段類型;

--修改字段名

alter table 表名 rename column 字段名 to 新的字段名;

--修改字段類型(注意類型修改前后數(shù)據(jù)是否兼容)

alter table 表名 modify column 字段名 新的字段類型;

--刪除一個(gè)字段

alter table 表名 drop 字段名;

--刪除表

drop table 表名;

--刪除表時(shí)判斷表是否存在,若存在則刪除

drop table if exists 表名;

DML

DML是數(shù)據(jù)操作語(yǔ)言,主要是對(duì)數(shù)據(jù)表的操作

(1)插入數(shù)據(jù)(insert into)

數(shù)據(jù)表插入數(shù)據(jù)分為全字段插入數(shù)據(jù)和部分字段插入數(shù)據(jù)

①全字段插入數(shù)據(jù)(有兩種方法,推薦第一種方法)

--有多少個(gè)字段,就要寫(xiě)多少個(gè)值,且是一一對(duì)應(yīng)的

insert into 表名 values(值1,值2,值3...值n);

--此方法要寫(xiě)出所有字段,并一一對(duì)應(yīng)插入值

insert into 表名(字段1,字段2...字段n) values(值1,值2...值n);

②部分字段插入數(shù)據(jù)

--部分字段插入數(shù)據(jù),只寫(xiě)需要插入數(shù)據(jù)的字段名

insert into 表名(字段1,字段2...) values(值1,值2...);

(2)刪除數(shù)據(jù)(delete / truncate)

--刪除表中所有數(shù)據(jù)

delete from 表名;

--刪除表中指定的數(shù)據(jù)

delete from 表名 where 字段 = 值;

--刪除表中所有數(shù)據(jù)(先刪除整張表,然后創(chuàng)建一張一樣的空表,此方法更高效)

truncate table 表名;

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

--無(wú)限制條件的修改,會(huì)修改整張表

update 表名 set 字段 = 值;

--有限制條件的修改,只修改特定記錄

update 表名 set 字段 = 值 where 條件(字段 = 值);

?DQL

DQL是數(shù)據(jù)查詢語(yǔ)言,主要就是select配合其他限制條件的關(guān)鍵字進(jìn)行查詢

(1)無(wú)條件查詢

--查詢表中所有數(shù)據(jù)

select *from 表名;

(2)查詢?cè)?..到...之間(between and / && / and)

--查詢users表中年齡在18~25歲之間的記錄

--方式1 between..and..

select *from users where age between 18 and 25;

--方式2 &&

select *from users where age>=18 && age<=25;

--方式3 and

select *from users where age>=18 and age<=25;

(3)指定條件查詢

①單個(gè)條件(or?/ in)

--查詢users表中年齡為18,20,25歲的記錄

--方式1 or

select *from users where age=18 or age=20 or age=25;

--方式2 in

select *from users where age in(18,20,25);

②多個(gè)條件(and)

--查詢users表中年齡為23,性別為女,名字為小楠的記錄

select *from users where age=23 and gender='女' and name='小楠';

(4)查詢不為NULL值(is not null),為NULL值(is null)

--查詢users表中序號(hào)不為空的記錄

select *from users where id is not null;

--查詢user表中序號(hào)為空的記錄

select *from users where id is null;

(5)模糊查詢(like)

_:單個(gè)任意字符

%:多個(gè)任意個(gè)字符

--查詢users表中姓名第一個(gè)字為李的記錄

select *from users where name like '李%';

--查詢users表中姓名第二個(gè)字為李的記錄

select *from users where name like '_李%';

--查詢users表中姓名含有李字的記錄

select *from users where name like '%李%';

--查詢users表中姓名是兩個(gè)字的記錄

select *from users where name like '__';

(6)去除重復(fù)記錄查詢(distinct)

--查詢users表中所在城市不相同的記錄

--select distinct 字段 from 表名;

select distinct city from users;

(7)排序查詢(order by)

①單個(gè)條件

--查詢users表中記錄,并以年齡升序排序

select *from users order by age; --默認(rèn)升序

--查詢users表中記錄,并以年齡降序排序

select *from users order by age desc;--desc降序

②多個(gè)條件

注意:多個(gè)排序條件時(shí),只有當(dāng)?shù)谝粋€(gè)排序條件值一樣,才會(huì)執(zhí)行第二個(gè)排序條件,以此類推

--查詢users表中記錄,并體育成績(jī)降序,年齡降序

select *from users order by PE desc,age desc;

(8)聚合函數(shù)

①計(jì)算和(sum)

select sum(字段) (as sumvalue) from 表名;

②計(jì)算最大值(max)

select max(字段) (as maxvalue) from 表名;

③計(jì)算最小值(min)

select min(字段) (as minvalue) from 表名;

④計(jì)算平均值(avg)

select avg(字段) (as avgvalue) from 表名;

⑤計(jì)算個(gè)數(shù)(count)

select count(字段) (as totalcount) from 表名;

(9)分組查詢(group?by)

--查詢users表中的記錄,按照性別分組,查詢男,女的體育成績(jī)平均分

select gender,avg(PE) from users group by gender;

--查詢users表中的記錄,按照性別分組,分別查詢男、女的體育成績(jī)平均分,人數(shù)

select gender, avg(PE),count(id) from users group by gender;

--查詢users表中的記錄, 按照性別分組,分別查詢男、女的體育成績(jī)平均分,人數(shù) 要求:分?jǐn)?shù)低于60分的人,不參與分組

select gender, avg(PE),count(id) from users where PE > 60 group by gender;

--查詢users表中的記錄,按照性別分組,分別查詢男、女的體育成績(jī)平均分,人數(shù) 要求:分?jǐn)?shù)低于60分的人,不參與分組,分組之后,人數(shù)要大于2個(gè)人

select gender,avg(PE),count(id) from users where PE > 60 group by gender having count(id)>2;

(10)分頁(yè)查詢(limit)

注意:第一條記錄的索引是0

--查詢users表中的前10行條記錄

select *from users limit 10;

--查詢users表中第2~11條記錄 (從第2條記錄開(kāi)始累加10條記錄)

select *from users limit 1,10;

--查詢users表中第5~17條記錄 (從第5條記錄開(kāi)始累加13條記錄)

select *from users limit 4,13;

(11)內(nèi)連接查詢

如果查詢數(shù)據(jù)的來(lái)源來(lái)自多張表,則必須對(duì)這些表進(jìn)行連接查詢,連接是把不同表的記錄連到一起的最普遍的方法,通過(guò)連接查詢可將多個(gè)表作為一個(gè)表進(jìn)行處理,連接查詢分為內(nèi)連接和外連接

語(yǔ)法格式

--語(yǔ)法1 (隱式內(nèi)連接)

select 字段1,字段2...

from 表1,表2...

where 過(guò)濾條件;

--語(yǔ)法2 (顯式內(nèi)連接)

select 字段1,字段2...

from 表1 inner join 表2 ...

on 過(guò)濾條件;

例如這里有兩張表: user表和city表

?重合的部分就叫做內(nèi)連接查詢,例如下面過(guò)濾條件指的就是當(dāng)兩個(gè)表的id相等時(shí)才符合連接查詢的條件

隱式內(nèi)連接

顯式內(nèi)連接

?(12)外連接查詢

外連接查詢分為左外連接查詢和右外連接查詢

語(yǔ)法

--左外連接

select 字段1,字段2..

from 表1 left (outer) join 表2 on 過(guò)濾條件;

--右外連接

select 字段1,字段2..

from 表1 right (outer) join 表2 on 過(guò)濾條件;

區(qū)別如下

左外連接:是表1和表2的交集再并上表1的其他數(shù)據(jù)

右外連接:是表1和表2的交集再并上表2的其他數(shù)據(jù)

舉個(gè)例子,例如還是上面兩張表,user表和city表

左外連接結(jié)果

右外連接結(jié)果

看到結(jié)果大家明白左,右外連接的區(qū)別了嗎,在實(shí)際應(yīng)用中,我們要結(jié)合實(shí)際的需求來(lái)決定使用左外連接還是右外連接

??(13)子查詢

子查詢:其實(shí)就是查詢語(yǔ)句中嵌套查詢語(yǔ)句

例如還是剛才的user表,只不過(guò)新增了一個(gè)字段age

問(wèn)題:查找出表中年齡最大的那個(gè)人的那條記錄

常規(guī)想法:

①先計(jì)算出年齡最大的值?

②根據(jù)已知年齡的最大值查找相關(guān)記錄

這樣需要兩條sql語(yǔ)句,甚至如果遇到更復(fù)雜的問(wèn)題,需要更多sql語(yǔ)句

利用子查詢:

而子查詢只需要用一條sql語(yǔ)句就夠了?

子查詢的查詢結(jié)果是可以作為判斷條件的

如果子查詢結(jié)果是單行單列的,可以用運(yùn)算符做判斷條件:< <= > >= =

例如還是user表,查找小于最大年齡的所有記錄

如果子查詢結(jié)果是多行單列的,可以用運(yùn)算符in做判斷條件

子查詢查找出了最小年齡者的姓名,然后作為判斷條件輸出這些人的記錄

DCL

(1)管理用戶

①添加用戶

create user '用戶名'@'主機(jī)名' identified by '密碼';

②刪除用戶

drop user '用戶名'@'主機(jī)名';

?(2)權(quán)限管理

?①查詢權(quán)限

show grants for '用戶名'@'主機(jī)名';

②授予權(quán)限

--語(yǔ)法

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

--授予faker用戶所有權(quán)限,在任意數(shù)據(jù)庫(kù)任意表上

grant all on *.* to 'faker'@'localhost';

③撤銷權(quán)限

--語(yǔ)法

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

--撤銷faker用戶對(duì)test數(shù)據(jù)庫(kù)中city數(shù)據(jù)表的權(quán)限

revoke update on test.city from 'faker'@'localhost';

看完文章對(duì)你有幫助的話,就點(diǎn)個(gè)贊吧~

點(diǎn)贊關(guān)注收藏是對(duì)我最大的支持~?

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) SQL常用語(yǔ)句大全

http://yzkb.51969.com/

好文閱讀

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/17830751.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄