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