MySQL 提供了多種創(chuàng)建索引的方法:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鎮(zhèn)坪免費建站歡迎大家使用!
1) 使用 CREATE INDEX 語句
可以使用專門用于創(chuàng)建索引的 CREATE INDEX 語句在一個已有的表上創(chuàng)建索引,但該語句不能創(chuàng)建主鍵。
語法格式:
CREATE 索引名 ON 表名 (列名 [長度] [ ASC | DESC])
語法說明如下:
索引名:指定索引名。一個表可以創(chuàng)建多個索引,但每個索引在該表中的名稱是唯一的。
表名:指定要創(chuàng)建索引的表名。
列名:指定要創(chuàng)建索引的列名。通??梢钥紤]將查詢語句中在 JOIN 子句和 WHERE 子句里經(jīng)常出現(xiàn)的列作為索引列。
長度:可選項。指定使用列前的 length 個字符來創(chuàng)建索引。使用列的一部分創(chuàng)建索引有利于減小索引文件的大小,節(jié)省索引列所占的空間。在某些情況下,只能對列的前綴進(jìn)行索引。索引列的長度有一個最大上限 255 個字節(jié)(MyISAM 和 InnoDB 表的最大上限為 1000 個字節(jié)),如果索引列的長度超過了這個上限,就只能用列的前綴進(jìn)行索引。另外,BLOB 或 TEXT 類型的列也必須使用前綴索引。
ASC|DESC:可選項。ASC指定索引按照升序來排列,DESC指定索引按照降序來排列,默認(rèn)為ASC。
2) 使用 CREATE TABLE 語句
索引也可以在創(chuàng)建表(CREATE TABLE)的同時創(chuàng)建。在 CREATE TABLE 語句中添加以下語句。語法格式:
CONSTRAINT PRIMARY KEY [索引類型] (列名,…)
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的主鍵。
語法格式:
KEY | INDEX [索引名] [索引類型] (列名,…)
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的索引。
語法格式:
UNIQUE [ INDEX | KEY] [索引名] [索引類型] (列名,…)
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的唯一性索引。
語法格式:
FOREIGN KEY 索引名 列名
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的外鍵。
在使用 CREATE TABLE 語句定義列選項的時候,可以通過直接在某個列定義后面添加 PRIMARY KEY 的方式創(chuàng)建主鍵。而當(dāng)主鍵是由多個列組成的多列索引時,則不能使用這種方法,只能用在語句的最后加上一個 PRIMARY KRY(列名,…) 子句的方式來實現(xiàn)。
Online DDL 工具:pt-osc
對于 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡單對比。
一、原理及限制
1.1 原理
1.?創(chuàng)建一個與原表結(jié)構(gòu)相同的空表,表名是?_new?后綴;
2. 修改步驟 1 創(chuàng)建的空表的表結(jié)構(gòu);
3. 在原表上加三個觸發(fā)器:delete/update/insert,用于 copy 數(shù)據(jù)過程中,將原表中要執(zhí)行的語句在新表中執(zhí)行;
4. 將原表數(shù)據(jù)以數(shù)據(jù)塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,并把新表 rename 為原表名,然后刪除舊表;
6. 刪除觸發(fā)器。
進(jìn)入數(shù)據(jù)庫后,
先 use 數(shù)據(jù)庫名;
然后:
alter table customers rename custs;
1、一般查詢語句:SELECT `lcontent` FROM `caiji_ym_liuyan`
查詢數(shù)據(jù):
2、有些時候需要查詢某個字段的長度為多少時候才顯示數(shù)據(jù):
SQL語句:SELECT `lcontent` FROM `caiji_ym_liuyan` where
length(lcontent)=40
PS:在mysql中一個漢字等于3個字節(jié),所以查詢的時候需要轉(zhuǎn)換一下
特別要注意的就時候?qū)τ谧止?jié)的轉(zhuǎn)換
分享標(biāo)題:mysql怎么重新定義表,mysql重置表
本文來源:http://chinadenli.net/article10/heijdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、品牌網(wǎng)站制作、全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化、手機網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)