mysql表結構及索引指令碼

2022-09-10 15:12:20 字數 2597 閱讀 9813

mysql索引

1.primary  key(主鍵索引)

mysql> alter  table  `table_name`  add  primary  key (  `column`  ) 

2.unique(唯一索引)

mysql> alter  table  `table_name`  add  unique ( `column` ) 

3.index(普通索引)

mysql> alter  table  `table_name`  add  index index_name (  `column`  )

4.fulltext(全文索引)

mysql> alter  table  `table_name`  add  fulltext ( `column` )

5.多列索引

mysql> alter  table  `table_name`  add  index index_name (  `column1`,  `column2`,  `column3`  )

6.刪除索引

mysql> alter table `table_name` drop index index_name

如果從表中刪除了某列,則索引會受到影響。對於多列組合的索引,如果刪除其中的某列,則該列也會從索引中刪除。如果刪除組成索引的所有列,則整個索引將被刪除。

mysql匯出全部索引

select

concat('alter table `',table_name,'` ', 'add ',

if(non_unique = 1,

case upper(index_type)

when 'fulltext' then 'fulltext index'

when 'spatial' then 'spatial index'

else concat('index `',

index_name,

'` using ',

index_type

)end,

if(upper(index_name) = 'primary',

concat('primary key using ',

index_type

),concat('unique index `',

index_name,

'` using ',

index_type))

),'(', group_concat(distinct concat('`', column_name, '`') order by seq_in_index asc separator ', '), ');') as 'show_add_indexes'

from information_schema.statistics

where table_schema = 'pbq'

group by table_name, index_name

order by table_name asc, index_name asc

mysql 刪除全部索引

select

concat(

'alter table `',

table_name,

'` ',

group_concat(

distinct

concat(

'drop ',

if(upper(index_name) = 'primary',

'primary key',

concat('index `', index_name, '`')))

separator ', '

),';'

)from information_schema.statistics

where table_schema = 'destination_database_name'

group by table_name

order by table_name asc

mysql修改表結構

增加列[add 列名]

①alter table 表名 add 列名 列型別 列引數【加的列在表的最後面】

②alter table 表名 add 列名 列型別 列引數 after 某列【把新列加在某列後面】

③alter table 表名 add 列名 列型別 列引數 first【把新列加在最前面】

刪除列[drop 列名]

①alter table 表名 drop 列名

修改列[modife 列名]

①alter table 表名 modify 列名 新型別 新引數【修改列型別】

②alter table 表名 change 舊列名 新列名 新型別 新引數【修改列名和列型別】

查詢列

①desc 表名【查詢所有列】

②show columns from 表名【效果和desc一樣】

③show create table 表名【檢視表的建立**】

自動生成建立索引指令碼

select table name,index name,create index index name on table name ltrim max sys connect by path dic.column name,from select di.table name,di.index na...

mysql表索引 MySQL表及索引相關知識

1.表 1.1 建表 create table student id int 4 not null,name char 20 not null,age tinyint 2 not null default 0 dept varchar 16 default null show create tabl...

MySQL索引及索引資料結構

索引是幫助mysql高效獲取資料的排好序的資料結構 索引分類 索引失效的情況 模糊查詢時,第乙個查詢字元是不確定值 或 時,索引失效 select name from stu where name like e 索引失效 select name from stu where name like h ...