偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MySQL那些不常用的一些SQL語(yǔ)句

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

不知道大家有沒(méi)遇到過(guò)是用 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)看。

MySQL的添加表

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

CREATE TABLE 表名稱(chēng)
(
列名稱(chēng)1 數(shù)據(jù)類(lèi)型,
列名稱(chēng)2 數(shù)據(jù)類(lèi)型,
列名稱(chēng)3 數(shù)據(jù)類(lèi)型,
....
)

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

給個(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 是你的字段類(lèi)型, default后面則是你字段的默認(rèn)值,而COMMENT后面,則是跟著的對(duì)應(yīng)字段的注釋?zhuān)遣皇呛芎?jiǎn)單。

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

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

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

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

實(shí)際上和加字段區(qū)別并不大,但是 MODIFY 這個(gè)是修改的意思,畢竟寫(xiě)代碼還有 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 的縮寫(xiě),而 排序所用的 DESC 是 DESCEND 的縮寫(xiě),這個(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 索引名稱(chēng),如果名字相同則表明是同一個(gè)索引,而并不是重復(fù),比如上圖中的第四、五條數(shù)據(jù),索引名稱(chēng)都是name,其實(shí)是一個(gè)聯(lián)合索引。

4.Seq_in_index 索引中的列序列號(hào),從1開(kāi)始。上圖中的四、五條數(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)鍵字如何被壓縮。如果沒(méi)有被壓縮,則為NULL。壓縮一般包括壓縮傳輸協(xié)議、壓縮列解決方案和壓縮表解決方案。

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

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

12.Comment Index_comment 注釋的意思。

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

索引的類(lèi)型:

  • 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ǔ)句替換一下表名和索引的名稱(chēng)和字段的名稱(chēng),那么就建立了一個(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`)


責(zé)任編輯:武曉燕 來(lái)源: Java極客技術(shù)
相關(guān)推薦

2010-09-28 14:14:19

SQL語(yǔ)句

2010-09-07 11:28:15

SQL語(yǔ)句

2011-07-05 11:24:52

SQL語(yǔ)句索引

2010-10-08 16:32:59

MySQL語(yǔ)句

2011-08-02 09:31:52

SQL語(yǔ)句字符串

2019-10-18 09:25:45

Python蘋(píng)果公司算法

2011-10-11 17:10:35

MySQL

2011-03-15 17:46:43

2009-08-13 09:49:16

C#關(guān)鍵字

2019-08-19 14:56:07

設(shè)計(jì)模式javascript

2011-08-25 14:50:42

SQL Server數(shù)常用操作

2022-02-17 13:58:38

Linux技巧文件

2025-01-15 09:00:20

2012-03-14 14:30:13

Ubuntu軟件包

2021-12-20 10:55:05

Git命令Linux

2020-10-19 19:25:32

Python爬蟲(chóng)代碼

2014-05-13 09:55:13

iOS開(kāi)發(fā)工具

2021-08-28 11:47:52

json解析

2017-09-20 15:07:32

數(shù)據(jù)庫(kù)SQL注入技巧分享

2011-11-28 15:57:26

MySQL數(shù)據(jù)庫(kù)主從配置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)