欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

MySQL基本操作有哪些

這篇文章主要介紹“MySQL基本操作有哪些”,在日常操作中,相信很多人在MySQL基本操作有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”MySQL基本操作有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),天全企業(yè)網(wǎng)站建設(shè),天全品牌網(wǎng)站建設(shè),網(wǎng)站定制,天全網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,天全網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

總的來(lái)說(shuō),SQL分為四大類(lèi),分別是數(shù)據(jù)定義語(yǔ)言DDL,數(shù)據(jù)操作語(yǔ)言DML,數(shù)據(jù)查詢語(yǔ)言DQL和數(shù)據(jù)控制語(yǔ)言DCL。而SQL的基本操作一般是指對(duì)數(shù)據(jù)庫(kù),數(shù)據(jù)表,數(shù)據(jù)的增刪改查。

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

首先要學(xué)習(xí)的是使用DDL來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,主要是對(duì)數(shù)據(jù)庫(kù)的增刪改查操作。

1.1 查詢

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

show databases;

例如:

MySQL基本操作有哪些

1.2 創(chuàng)建數(shù)據(jù)庫(kù)

創(chuàng)建新的數(shù)據(jù)庫(kù):

create database 數(shù)據(jù)庫(kù)名稱;

使用上面的方式創(chuàng)建新的數(shù)據(jù)庫(kù)時(shí),如果該數(shù)據(jù)庫(kù)已經(jīng)存在,則會(huì)出現(xiàn)錯(cuò)誤,所以我們?cè)趧?chuàng)建新的數(shù)據(jù)庫(kù)時(shí)一般會(huì)判斷該數(shù)據(jù)庫(kù)是否存在,如果已存在,則不會(huì)創(chuàng)建。

創(chuàng)建新的數(shù)據(jù)庫(kù)(判斷數(shù)據(jù)庫(kù)是否已經(jīng)存在):

create database if not exists 數(shù)據(jù)庫(kù)名稱;

例如:

MySQL基本操作有哪些

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

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

drop database 數(shù)據(jù)庫(kù)名稱;

和前面創(chuàng)建新的數(shù)據(jù)庫(kù)相同,為了避免出現(xiàn)錯(cuò)誤,我們一般會(huì)先判斷該數(shù)據(jù)庫(kù)是否存在,如果不存在,則不會(huì)刪除。

刪除數(shù)據(jù)庫(kù)(判斷數(shù)據(jù)庫(kù)是否已經(jīng)存在):

drop database if exists 數(shù)據(jù)庫(kù)名稱;

例如:

MySQL基本操作有哪些

1.4 使用數(shù)據(jù)庫(kù)

現(xiàn)在我們已經(jīng)成功創(chuàng)建了新的數(shù)據(jù)庫(kù),接下來(lái),我們要在數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表,首先我們要明白是對(duì)哪一個(gè)數(shù)據(jù)庫(kù)進(jìn)行操作,此時(shí)我們要先學(xué)會(huì)使用數(shù)據(jù)庫(kù),才能對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行操作。

使用數(shù)據(jù)庫(kù):

use 數(shù)據(jù)庫(kù)名稱;

查詢當(dāng)前正在使用的數(shù)據(jù)庫(kù):

select database();

例如:

MySQL基本操作有哪些

2. DDL- 操作數(shù)據(jù)表

同樣,對(duì)數(shù)據(jù)表的操作無(wú)非就是增刪改查,在學(xué)習(xí)相關(guān)操作之前,我們先要熟悉一下MySQL的數(shù)據(jù)類(lèi)型。

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

MySQL支持多種數(shù)據(jù)類(lèi)型,但是大致可以分為3中,分別是數(shù)值型,日期型和字符串型。下面是比較常用的幾種數(shù)據(jù)類(lèi)型:

數(shù)值:

數(shù)據(jù)類(lèi)型解釋
tinyint小整數(shù)型,占1個(gè)字節(jié)
int大整數(shù)型,占4個(gè)字節(jié)
double浮點(diǎn)類(lèi)型

日期:

數(shù)據(jù)類(lèi)型解釋
date日期值,只包含年月日
datetime混合日期和時(shí)間值,包含年月日時(shí)分秒

字符串:

數(shù)據(jù)類(lèi)型解釋
char定長(zhǎng)字符串
varchar變長(zhǎng)字符串

定長(zhǎng)字符串和變長(zhǎng)字符串的區(qū)別:字符串是我們?cè)跀?shù)據(jù)庫(kù)中經(jīng)常使用的數(shù)據(jù)類(lèi)型,使用變長(zhǎng)字符串,如果字符的長(zhǎng)度沒(méi)有達(dá)到指定的長(zhǎng)度,那么實(shí)際的長(zhǎng)度是多少就占用幾個(gè)字符,這樣的做法顯然是使用時(shí)間換空間,而使用定長(zhǎng)字符串雖然有時(shí)會(huì)出現(xiàn)浪費(fèi)空間的情況,但是一般儲(chǔ)存性能比較高。

2.2 查詢表

查詢當(dāng)前數(shù)據(jù)庫(kù)下所有的表:

show tables;

查詢表結(jié)構(gòu):

desc 表名稱;

例如:

MySQL基本操作有哪些

2.3 創(chuàng)建表

創(chuàng)建一個(gè)新的表:

create table 表名稱(
		字段名1 數(shù)據(jù)類(lèi)型,
		字段名2 數(shù)據(jù)類(lèi)型,
		...
		字段名n 數(shù)據(jù)類(lèi)型  #這里是不需要加上,的);

例如:

MySQL基本操作有哪些

2.4 刪除表

刪除表:

drop table 表名;

刪除表(判斷表是否存在):

drop table if exists 表名;

例如:

MySQL基本操作有哪些

2.5 修改表

修改表名:

alter table 表名 rename to 新的表名;

增加一列:

alter table 表名 add 列名 數(shù)據(jù)類(lèi)型;

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

alter table 表名 modify 列名 新數(shù)據(jù)類(lèi)型;

修改列名和數(shù)據(jù)類(lèi)型:

alter table 表名 change 列名 新列名 新數(shù)據(jù)類(lèi)型;

刪除列:

alter table 表名 drop 列名;

例如:

MySQL基本操作有哪些

3. 實(shí)戰(zhàn)案例詳解

需求:設(shè)計(jì)包含如下信息的學(xué)生表,請(qǐng)注重?cái)?shù)據(jù)類(lèi)型、長(zhǎng)度的合理性。

  • 編號(hào)

  • 姓名,姓名最長(zhǎng)不超過(guò)10個(gè)漢字

  • 性別,因?yàn)槿≈抵挥袃煞N可能,因此最多一個(gè)漢字

  • 生日,取值為年月日

  • 成績(jī),小數(shù)點(diǎn)后保留兩位

  • 地址,最大長(zhǎng)度不超過(guò) 64

  • 學(xué)生狀態(tài)(用數(shù)字表示,正常、休學(xué)、畢業(yè)…)

在完成這樣一個(gè)案例前,首先要?jiǎng)?chuàng)建一個(gè)學(xué)生數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中創(chuàng)建一張新的表,創(chuàng)建表時(shí)注意語(yǔ)法格式,數(shù)據(jù)類(lèi)型和長(zhǎng)度的合理性。

以管理員身份運(yùn)行命令提示符cmd,啟動(dòng)Mysql服務(wù),登錄MySQL:

MySQL基本操作有哪些

創(chuàng)建學(xué)生信息數(shù)據(jù)庫(kù):

create database if not exists student;

MySQL基本操作有哪些

使用student數(shù)據(jù)庫(kù):

use student;

MySQL基本操作有哪些

創(chuàng)建數(shù)據(jù)表:

create table stu(
		id int ,-- 編號(hào)
		name varchar(10),-- 姓名
		gender char(1),-- 性別
		birthday date,-- 生日
		score double(5,2) ,-- 分?jǐn)?shù)
		addr varchar(50),-- 地址
		status tinyint-- 狀態(tài));

MySQL基本操作有哪些


現(xiàn)在,我們已經(jīng)學(xué)會(huì)了寫(xiě)SQL來(lái)操作數(shù)據(jù)庫(kù),但是我們?cè)诿钚兄袑?xiě)SQL時(shí),往往有體驗(yàn)感差,效率低等問(wèn)題,今天開(kāi)始我們就要學(xué)習(xí)在MySQL的圖形化客戶端Navicat中執(zhí)行SQL語(yǔ)句

MySQL基本操作有哪些

Navicat 為數(shù)據(jù)庫(kù)管理、開(kāi)發(fā)和維護(hù)提供了一款直觀而強(qiáng)大的圖形化界面,大大的提高了工作效率,建議在學(xué)習(xí)中也使用這款開(kāi)發(fā)工具。接下來(lái),在Navicat中新建數(shù)據(jù)庫(kù),新建查詢,我們就可以編寫(xiě)SQL并且執(zhí)行SQL語(yǔ)句了。

4. DML- 增刪改數(shù)據(jù)

4.1 添加數(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...)...;

批量添加數(shù)據(jù)(省略字段名):

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

在開(kāi)發(fā)過(guò)程中添加數(shù)據(jù)時(shí)是不建議省略字段名的,這樣降低了代碼的可讀性,使效率下降。例如:

查詢表中的所有數(shù)據(jù)的方法是:

select * from 表名;

后面會(huì)用到的。

需求:往下面的tb_user表中添加一條數(shù)據(jù)。

MySQL基本操作有哪些

insert into tb_user(id,name) values(2,'李四');

添加成功:

MySQL基本操作有哪些


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

修改表的數(shù)據(jù):

update 表名 set 列名1=值1,列名2=值2...[where 條件];

在修改數(shù)據(jù)時(shí),也可以不使用where條件,此時(shí)的操作是修改整列數(shù)據(jù),這樣的操作是很危險(xiǎn)的。

需求:把下面tb_user表中的張三的密碼改為abc23

MySQL基本操作有哪些

update tb_user set passwor d ='abc123' where name='張三';

修改成功:

MySQL基本操作有哪些


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

刪除表的數(shù)據(jù):

delete from 表名 [where 條件];

在刪除某條數(shù)據(jù)時(shí),如果不使用where條件,將會(huì)導(dǎo)致刪除整個(gè)表的數(shù)據(jù)。

需求:刪除tb_user表中的李四記錄。

delete from tb_user where name='李四';

操作成功:

MySQL基本操作有哪些

5. DQL- 數(shù)據(jù)的查詢操作

查詢是數(shù)據(jù)操作至關(guān)重要的一部分,比如說(shuō)在所有商品中查找出價(jià)格在規(guī)定范圍內(nèi)的所有商品,要想把數(shù)據(jù)庫(kù)中的數(shù)據(jù)在客戶端中展示給用戶,一般都進(jìn)行了查詢的操作。

在實(shí)際開(kāi)發(fā)中,我們要根據(jù)不同的需求,并且考慮查詢的效率來(lái)決定怎樣進(jìn)行查詢,學(xué)習(xí)查詢前,可以先看看查詢的完整語(yǔ)法:

SELECT
	字段列表FROM
	表名列表WHERE
	條件列表GROUP BY
	分組字段HAVING
	分組后條件ORDER BY
	排序字段LIMIT
	分頁(yè)限定

根據(jù)查詢的完整語(yǔ)法中的關(guān)鍵字,我們分別來(lái)學(xué)習(xí)基礎(chǔ)查詢,條件查詢,排序查詢,分組查詢和分頁(yè)查詢。

下面的練習(xí)中使用以下的案例學(xué)習(xí)單表查詢:

-- 刪除stu表drop table if exists stu;-- 創(chuàng)建stu表CREATE TABLE stu (id int, -- 編號(hào)name varchar(10), -- 姓名age int, -- 年齡gender varchar(5), -- 性別math double(5,2), -- 數(shù)學(xué)成績(jī)english double(5,2) -- 英語(yǔ)成績(jī));-- 添加數(shù)據(jù)INSERT INTO stu(id,name,age,gender,math,english)VALUES(1,'小張',23,'男',66,78),(2,'小李',20,'女',98,87),(3,'小陳',55,'男',56,77),(4,'小樊',20,'女',76,65),(5,'小馬',20,'男',86,NULL),(6,'小趙',57,'男',99,99);

在Navicat中選中SQL并執(zhí)行:

MySQL基本操作有哪些

5.1 基礎(chǔ)查詢

1.1 基礎(chǔ)查詢語(yǔ)法

查詢多個(gè)字段:

select 字段列表 from 表名;

查詢?nèi)孔侄危?/p>

select * from 表名;

去除重復(fù)記錄:

select distinct 字段列表 from 表名;

起別名操作:

select 字段名 別名 from 表名;

1.2 基礎(chǔ)查詢練習(xí)

使用學(xué)生表進(jìn)行基礎(chǔ)查詢練習(xí):

查詢多個(gè)字段的練習(xí):

select name,math from stu;

MySQL基本操作有哪些

起別名操作練習(xí):

select name,english 英語(yǔ)成績(jī) from stu;

MySQL基本操作有哪些

5.2 條件查詢

2.1 條件查詢語(yǔ)法

一般語(yǔ)法:

select 字段列表 from 表名 where 條件列表;

條件查詢一般配合運(yùn)行符進(jìn)行,下面是常見(jiàn)的幾個(gè)運(yùn)算符:

運(yùn)算符功能描述
> < = !大于 小于 等于 不等于
between…and…在這個(gè)范圍之內(nèi)
in(…)多選一
is null / is not null是null / 不是null
and 或 &&并且
or 或 ||或者

2.2 條件查詢練習(xí)

使用學(xué)生表進(jìn)行條件查詢練習(xí):

查詢年齡大于20的學(xué)生信息:

select * from stu where age>20;

MySQL基本操作有哪些查詢年齡等于18歲 或者 年齡等于20歲 或者 年齡等于21歲的學(xué)生信息:

select * from stu where age in(18,20,21);

MySQL基本操作有哪些模糊查詢使用like關(guān)鍵字,可以使用通配符進(jìn)行占位:

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

  • % : 代表任意個(gè)數(shù)字符

查詢姓名中含有張的學(xué)生信息:

select * from stu where name like '%張%';

MySQL基本操作有哪些

5.3 排序查詢

3.1 排序查詢語(yǔ)法

select 字段列表 from 表名 order by 排序字段名1 [排序方式]...;

:排序方式有兩種:分別是升序ASC和降序DESC,默認(rèn)情況下是升序ASC。

3.2 排序查詢練習(xí)

使用學(xué)生表進(jìn)行排序查詢練習(xí):

查詢學(xué)生信息,按照數(shù)學(xué)成績(jī)降序排列:

select * from stu order by math DESC;

5.4 聚合函數(shù)

4.1 聚合函數(shù)語(yǔ)法

什么是聚合函數(shù)呢?在進(jìn)行查詢操作時(shí),往往需要對(duì)一整列進(jìn)行運(yùn)算,例如可以計(jì)算一整列成績(jī)數(shù)據(jù)的平均值,我們就要使用聚合函數(shù)。下面是常見(jiàn)的聚合函數(shù):

函數(shù)名功能
count(列名)統(tǒng)計(jì)數(shù)量(一般選用不為null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值

一般語(yǔ)法:

select 聚合函數(shù) from 表名;

注:NULL值不參與聚合函數(shù)運(yùn)算。

4.2 聚合函數(shù)練習(xí)

使用學(xué)生表進(jìn)行聚合函數(shù)的練習(xí):

統(tǒng)計(jì)該表中一共有幾個(gè)學(xué)生:

select count(id) from stu;

MySQL基本操作有哪些

上面我們使用某一字段進(jìn)行運(yùn)算,這樣做可能面臨的問(wèn)題是某一個(gè)值可能是NULL,所以我們一般使用 * 進(jìn)行運(yùn)算,因?yàn)橐恍兄胁豢赡芩械淖侄味际荖ULL。

select count(*) from stu;

查詢數(shù)學(xué)成績(jī)的平均分:

select avg(math) from stu;

MySQL基本操作有哪些

5.5 分組查詢

5.1 分組查詢語(yǔ)法

select 字段列表 from 表名 [where 分組前的條件限定] group by 分組字段名 [having 分組后的條件過(guò)濾]

注:分組之后,查詢的字段為聚合函數(shù)和分組字段,查詢其他字段無(wú)任何意義。

5.2 分組查詢練習(xí)

使用學(xué)生表進(jìn)行分組查詢練習(xí):

查詢男同學(xué)和女同學(xué)各自的數(shù)學(xué)平均分,以及各自人數(shù),要求:分?jǐn)?shù)低于70分的不參與分組:

select gender, avg(math),count(*) from stu where math > 70 group by gender;

MySQL基本操作有哪些

查詢男同學(xué)和女同學(xué)各自的數(shù)學(xué)平均分,以及各自人數(shù),要求:分?jǐn)?shù)低于70分的不參與分組,分組之后人數(shù)大于2個(gè)的:

select gender, avg(math),count(*) from stu where math > 70 group by gender having count(*) > 2;

MySQL基本操作有哪些

注:where 和 having 執(zhí)行時(shí)機(jī)不一樣:where 是分組之前進(jìn)行限定,不滿足where條件,則不參與分組,而having是分組之后對(duì)結(jié)果進(jìn)行過(guò)濾。所以,where 不能對(duì)聚合函數(shù)進(jìn)行判斷,having 可以。

5.6 分頁(yè)查詢

6.1 分頁(yè)查詢語(yǔ)法

在我們的印象中,網(wǎng)頁(yè)在展示大量的數(shù)據(jù)時(shí),往往不是把數(shù)據(jù)一下全部展示出來(lái),而是用分頁(yè)展示的形式,其實(shí)就是對(duì)數(shù)據(jù)進(jìn)行分頁(yè)查詢的操作,即每次只查詢一頁(yè)的數(shù)據(jù)展示到頁(yè)面上。

select 字段列表 from 表名 limit 查詢起始索引,查詢條目數(shù);

limit 關(guān)鍵字中,查詢起始索引這個(gè)參數(shù)是從0開(kāi)始的。

6.2 分頁(yè)查詢練習(xí)

使用學(xué)生表進(jìn)行分頁(yè)查詢練習(xí):

從0開(kāi)始查詢,查詢3條數(shù)據(jù):

select * from stu limit 0,3;

MySQL基本操作有哪些

起始索引 = (當(dāng)前頁(yè)碼 - 1) * 每頁(yè)顯示的條數(shù)

到此,關(guān)于“MySQL基本操作有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

本文題目:MySQL基本操作有哪些
轉(zhuǎn)載來(lái)源:http://aaarwkj.com/article30/iipgpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、App開(kāi)發(fā)、商城網(wǎng)站云服務(wù)器、網(wǎng)站設(shè)計(jì)品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
国产欧美成人精品第一区| 亚洲成色在线综合剧情网站| 国产大片在线观看一区二区| 亚洲av网站一区二区三区| 又爽又色的日本网站| 亚洲一区二区三区小蜜桃| 高清av在线国产成人精品自拍| 91美女黑丝免费国产视频| 国产原创av剧情愿望成真| 亚洲清纯唯美激情四射| 婷婷国产成人久久精品激情| 黄色录像一级二级三级| 农村精品少妇久久久久久| 台湾三级一区二区三区| 国产av综合一区二区三区最新| 婷婷色中文字幕综合在线| av天堂网站在线观看| 日韩三级在线观看av| 久久亚洲一本综合久久| 亚洲激情午夜福利视频| 久久女婷五月综合色啪色老板| 成人午夜欧美熟妇小视频| 成人性生交大片免费看多人| 日本欧美自拍偷拍高清| 精品国产不卡在线观看| 国产成人亚洲精品乱码| 成年人午夜在线观看网址| 国产69精品久久一级| 日韩一区二区人妻在线| 亚洲乱色一区二区三区丝袜| 色哟哟在线观看精品一区| 日韩一区二区三精品| 久草区免费在线视频播放| 亚洲一区有码在线观看| 精品国产一区二区三区卡| 黄色av免费播放网站| 中文字幕日韩乱码一级在线| 高质量的性生活在线观看| 熟年人妻一区二区三区| 91久久国产综合精品| 日韩中文字幕资源一区|