日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
MySQL那些不常用的一些SQL語(yǔ)句

不知道大家有沒遇到過是用 MyCat 進(jìn)行分庫(kù)分表的數(shù)據(jù)庫(kù),對(duì)于這種的數(shù)據(jù)庫(kù),相信大家在是用 Navicat 進(jìn)行連接時(shí)候,會(huì)發(fā)現(xiàn),有時(shí)候明明自己的表是存在的,但是在使用 Navicat 的時(shí)候,左邊是看不到這個(gè)表的,從而導(dǎo)致了,對(duì)添加字段,查看表結(jié)構(gòu)不熟悉的同學(xué)來(lái)說(shuō),這簡(jiǎn)直是一種折磨,今天阿粉就把一些經(jīng)典的 SQL 給大家整理出來(lái),讓大家以后在想看的時(shí)候,直接拉出來(lái)看。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括軹城網(wǎng)站建設(shè)、軹城網(wǎng)站制作、軹城網(wǎng)頁(yè)制作以及軹城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,軹城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到軹城省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

MySQL的添加表

這個(gè)頁(yè)面都熟悉,很多人建表的時(shí)候,都是直接在這里定義表的結(jié)構(gòu),然后直接保存,確實(shí)是沒毛病,但是如果分庫(kù)之后,你不知道規(guī)則,那么你只能讓有權(quán)限的人去幫你執(zhí)行建表語(yǔ)句,這時(shí)候就用到了SQL語(yǔ)句創(chuàng)建表。

CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
....
)

但是這么指定,肯定還不行,還得有主鍵不是么?

給個(gè)最簡(jiǎn)單的:

CREATE TABLE `USER` (
`ID` varchar(64) NOT NULL ,
`Name` varchar(64) NULL ,
`Age` int(11) NULL ,
PRIMARY KEY (`ID`)
)

我們創(chuàng)建一個(gè) USER 表,然后給表加上主鍵,就完成了創(chuàng)建一個(gè)基本的表。

如果你想增加字段的時(shí)候,又找不到表了,那應(yīng)該怎么辦呢?

非常簡(jiǎn)單,ALTER TABLE 語(yǔ)句,語(yǔ)法格式如下;

ALTER TABLE table_name ADD column_name datatype default xxx COMMENT '注釋'

這個(gè)語(yǔ)法 table_name 就是你的表名,column_name 是你的字段名,datatype 是你的字段類型, default后面則是你字段的默認(rèn)值,而COMMENT后面,則是跟著的對(duì)應(yīng)字段的注釋,是不是很簡(jiǎn)單。

雖然簡(jiǎn)單,但是很多直接習(xí)慣是用 Navicat 的人來(lái)說(shuō),還得去百度,現(xiàn)在不需要了,直接收藏一下,下次拉過來(lái)繼續(xù)用。

如果覺得我們給這個(gè)表設(shè)計(jì)的某個(gè)字段的類型不合適,那么又應(yīng)該怎么改呢?

同樣的還是 ALTER 語(yǔ)法:

ALTER TABLE table_name MODIFY COLUMN column_name datatype comment '注釋';

實(shí)際上和加字段區(qū)別并不大,但是 MODIFY 這個(gè)是修改的意思,畢竟寫代碼還有 CRUD 呢!

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

當(dāng)你找不到表的時(shí)候,而且還深信表一定存在,那么就得用到一個(gè)關(guān)鍵字了 DESC,看到這個(gè)關(guān)鍵詞的時(shí)候,相信小伙伴們都懵逼了,什么鬼,DESC 不是排序的時(shí)候是用的么?

是,DESC 在排序的時(shí)候確實(shí)是使用的,但是此 DESC 非彼 DESC,這里的 DESC 實(shí)際上是 DESCRIBE 的縮寫,而 排序所用的 DESC 是 DESCEND 的縮寫,這個(gè)你懂了么?

DESC table_name

這個(gè)語(yǔ)句就能成功的把你創(chuàng)建的表的結(jié)構(gòu)都展示出來(lái)。

MYSQL 查看表索引的語(yǔ)句

這個(gè)相信大家肯定是都會(huì)的。

show index from tbname;

這里要注意的就是他的每個(gè)字段是什么意思了。

1.Table: 表名。

2.Non_unique: 如果索引不能包括重復(fù)值則為0,如果可以則為1。也就是平時(shí)所說(shuō)的唯一索引。

3.Key_name 索引名稱,如果名字相同則表明是同一個(gè)索引,而并不是重復(fù),比如上圖中的第四、五條數(shù)據(jù),索引名稱都是name,其實(shí)是一個(gè)聯(lián)合索引。

4.Seq_in_index 索引中的列序列號(hào),從1開始。上圖中的四、五條數(shù)據(jù),Seq_in_index一個(gè)是1一個(gè)是2,就是表明在聯(lián)合索引中的順序,我們就能推斷出聯(lián)合索引中索引的前后順序。

5.Column_name 索引的列名。

6.Collation指的是列以什么方式存儲(chǔ)在索引中,大概意思就是字符序。

7.Cardinality 是基數(shù)的意思,表示索引中唯一值的數(shù)目的估計(jì)值。我們知道某個(gè)字段的重復(fù)值越少越適合建索引,所以我們一般都是根據(jù)Cardinality來(lái)判斷索引是否具有高選擇性,如果這個(gè)值非常小,那就需要重新評(píng)估這個(gè)字段是否適合建立索引。

8.Sub_part 前置索引的意思,如果列只是被部分地編入索引,則為被編入索引的字符的數(shù)目。如果整列被編入索引,則為NULL。

9.Packed 指示關(guān)鍵字如何被壓縮。如果沒有被壓縮,則為NULL。壓縮一般包括壓縮傳輸協(xié)議、壓縮列解決方案和壓縮表解決方案。

10.Null 如果列含有NULL,則含有YES。

11.Index_type表示索引類型,Mysql目前主要有以下幾種索引類型:FULLTEXT,HASH,BTREE,RTREE。

12.Comment Index_comment 注釋的意思。

說(shuō)到查看索引,那么就得說(shuō)新增和刪除索引。

索引的類型:

  • UNIQUE(唯一索引):不可以出現(xiàn)相同的值,可以有NULL值
  • INDEX(普通索引):允許出現(xiàn)相同的索引內(nèi)容
  • PROMARY KEY(主鍵索引):不允許出現(xiàn)相同的值
  • fulltext index(全文索引):可以針對(duì)值中的某個(gè)單詞,但效率確實(shí)不敢恭維
  • 組合索引:實(shí)質(zhì)上是將多個(gè)字段建到一個(gè)索引里,列值的組合必須唯一

創(chuàng)建索引

CREATE INDEX index_name
ON table_name (column_name)

刪除索引

DROP INDEX index_name ON table_name

非常簡(jiǎn)單,阿粉不多說(shuō),這里就說(shuō)一個(gè)比較經(jīng)典的,如果表已經(jīng)創(chuàng)建好了,那么再添加索引,那就還得是 ALTER。

ALTER TABLE table_name add INDEX `index_name` (`xxx`,`xx`,`x`)

以上的語(yǔ)句替換一下表名和索引的名稱和字段的名稱,那么就建立了一個(gè)聯(lián)合索引了,這樣看起來(lái)好像很簡(jiǎn)單是不是。

最后阿粉再來(lái)個(gè)總結(jié):

總結(jié)

創(chuàng)建表

CREATE TABLE `USER` (
`ID` varchar(64) NOT NULL ,
`Name` varchar(64) NULL ,
`Age` int(11) NULL ,
PRIMARY KEY (`ID`)
)

添加字段

ALTER TABLE table_name MODIFY COLUMN column_name datatype comment '注釋';

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

DESC table_name

查看表索引

show index from tbname;

創(chuàng)建索引

CREATE INDEX index_name
ON table_name (column_name)

刪除表索引

DROP INDEX index_name ON table_name

增加表索引

ALTER TABLE table_name add INDEX `index_name` (`xxx`,`xx`,`x`)

本文標(biāo)題:MySQL那些不常用的一些SQL語(yǔ)句
文章起源:http://m.5511xx.com/article/dhjghjs.html