MYSQL ALTER命令
當需要修改數(shù)據(jù)表名或者修改數(shù)據(jù)表字段時,就需要使用到MySQL ALTER命令。
修改表名
?語法格式:ALTER TABLE ?old_table_name ? RENAME TO ?new_table_name
查看表結(jié)構(gòu)
? ? ? ? ? ? ? ? ? SHOW ?COLUMNS ? FROM ? table_name
查看數(shù)據(jù)表類型
? ? ? ? ? ? ? ? ? SHOW ?TABLE ?STATUS ?LIKE 'table_name'
? ?修改數(shù)據(jù)表類型 ?語法:ALTER TABLE testalter_tbl ENGINE = 新的數(shù)據(jù)類型; ??
如果一個系統(tǒng)有很多數(shù)據(jù)庫,在找某張表的時候可以使用如下sql:
SELECT table_schema FROM information_schema.TABLES WHERE table_name = '表名';查看表的建表語句
語法格式:SHOW ?CREATE ?TABLE ? table_name
刪除,添加或修改表字段
1.刪除
語法格式:ALTER TABLE ?table_name ?DROP ?i
? ? ? ? ? ? ? ? ? i:為字段名
? ? ? ? ? ? ? ? ? 如果數(shù)據(jù)表中只剩余一個字段則無法使用DROP來刪除字段。
2.添加
語法格式:ALTER ?TABLE ?table_name ?ADD ?i ?int ?[ FIRST | ?AFTER column ]
? ? ? ? ? ? ? ? ? 添加使用add,后面緊跟你要添加的字段及字段類型。
? ? ? ? ? ? ? ? ??[ FIRST | ?AFTER column ]:為可選參數(shù)。
? ? ? ? ? ? ? ? ??FIRST:添加至表的第一列。
? ? ? ? ? ? ? ? ??AFTER column:添加至某個字段column的后面。
修改字段類型及名稱
語法格式:1 ? ?ALTER ?TABLE ?table_name ?MODIFY ? 字段名稱 ? 字段數(shù)據(jù)類型
? ? ? ? ? ? ? ? ? 2 ? ?ALTER ?TABLE table_name ? CHANGE ?舊字段名稱 ? ?新字段名稱 ? 新字段數(shù)據(jù)類型
? ? ? ? ? ? ? ? ? 方法1:只修改字段的數(shù)據(jù)類型。方法2:可以修改字段名稱和數(shù)據(jù)類型。
ALTER ?TABLE 對 NULL 值和默認值的影響
語法格式:ALTER ?TABLE ?table_name ?MODIFY ?字段名稱 ?字段類型 ? 是否為NULL ?默認值
? ? ? ? ? ? ? ? 示例:alter ?table ?test ?modify ?c ?varchar(10) ?not null default 100
? ? ? ? ? ? ? ? MYSQL設(shè)置字段時,不設(shè)置默認值,MYSQL會自動設(shè)置該字段默認為 NULL。
修改和刪除字段的默認值
1.修改
語法格式:ALTER ?TABLE ?table_name ? ALTER ? 字段名稱??SET ? DEFAULT ?數(shù)值
2.刪除
語法格式:ALTER ?TABLE ?table_name ? ALTER ?字段名稱 ? DROP ? DEFAULT
添加,刪除表中的主鍵或者外鍵
Mysql的兩種主鍵。Primary key 和not null auto_incriment在建立mysql表時,給一個字段添加了主鍵primary key 在insert數(shù)據(jù)時可以不用insert主鍵,mysql會自動添加0,但是在第二次insert時沒有填寫值mysql數(shù)據(jù)庫還是默認添加0,會導(dǎo)致 有重復(fù)的主鍵,這是不可以的。所有在定義了primary key時,在insert數(shù)據(jù)時要給主鍵填寫值。
添加主鍵
語法格式:1 ? ALTER ?TABLE ?table_name ?ADD ?PRIMARY ?KEY( id )
? ? ? ? ? ? ? ? ? 2 ? ALTER ?TABLE ?table_name ?MODIFY ? id ?int(10) ?NOT ?NULL AUTO_INCREMENT
刪除主鍵:
語法格式: 1 ? ALTER ?TABLE ?table_name ?CHANGE ? id ? id ?int(10) ?//先刪除自增長
? ? ? ? ? ? ? ? ? ?2 ? ALTER ?TABLE ?table_name ?DROP ?PRIMARY ?KEY ? //再刪除主鍵
添加外鍵
語法格式:
ALTER? TABLE? 表1 ? ADD? CONSTRAINT?外鍵名 ?FOREIGN ?KEY(表1中得到字段名) ? REFERENCES?表2(表2中的字段名)?
刪除外鍵
語法格式:ALTER ?TABLE? table_name??DROP ??FOREIGN ???KEY?外鍵名稱
添加和刪除索引
查看索引
語法格式:SHOW ?INDEX ?FROM ?table_name
添加索引
?? ? ? ?1.唯一索引 unique
? ? ? ? ?語法格式: ALTER ?TABLE ?table_name ?ADD ?UNIQUE ( ?字段名稱 ?) ?
?? ? ? ?2.普通索引
? ? ? ? ?語法格式:ALTER ?TABLE ?test ?ADD ?INDEX ?索引名稱 ( 字段名稱 ) ??
?? ? ? 3.全文索引
語法格式:ALTER ?TABLE ?table_name? ADD ?FULLTEXT ?( ?字段名稱? )
? ? ? ? ? ? ? ? ?備注:如果是InnoDB,改為MyISAM,InnoDB不支持FULLTEXT類型的索引
? ? ? ? ? ? ? ? ? ? ? ? ? ?InnoDB會報錯: [Err] 1214 - The used table type doesn't support FULLTEXT indexes
?
??
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的MYSQL ALTER命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言串口驱动程序
- 下一篇: 《BI项目笔记》数据源视图设置