自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL那些不常用的一些SQL語句

數(shù)據(jù)庫 MySQL
如果覺得我們給這個表設計的某個字段的類型不合適,那么又應該怎么改呢?

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

MySQL的添加表

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

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

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

給個最簡單的:

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

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

如果你想增加字段的時候,又找不到表了,那應該怎么辦呢?

非常簡單,ALTER TABLE 語句,語法格式如下;

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

這個語法 table_name 就是你的表名,column_name 是你的字段名,datatype 是你的字段類型, default后面則是你字段的默認值,而COMMENT后面,則是跟著的對應字段的注釋,是不是很簡單。

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

如果覺得我們給這個表設計的某個字段的類型不合適,那么又應該怎么改呢?

同樣的還是 ALTER 語法:

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

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

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

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

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

DESC table_name

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

MYSQL 查看表索引的語句

這個相信大家肯定是都會的。

show index from tbname;

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

1.Table: 表名。

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

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

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

5.Column_name 索引的列名。

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

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

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 注釋的意思。

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

索引的類型:

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

創(chuàng)建索引

CREATE INDEX index_name
ON table_name (column_name)

刪除索引

DROP INDEX index_name ON table_name

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

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

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

最后阿粉再來個總結(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`)


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

2010-09-28 14:14:19

SQL語句

2010-09-07 11:28:15

SQL語句

2011-07-05 11:24:52

SQL語句索引

2010-10-08 16:32:59

MySQL語句

2011-08-02 09:31:52

SQL語句字符串

2019-10-18 09:25:45

Python蘋果公司算法

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

設計模式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爬蟲代碼

2014-05-13 09:55:13

iOS開發(fā)工具

2021-08-28 11:47:52

json解析

2017-09-20 15:07:32

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

2011-11-28 15:57:26

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

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