mysql常用表操作

建表语句

CREATE TABLE `tr_test` (
`uid` int(11) default 0 not null,
`name` varchar(25),
CONSTRAINT `name_key` UNIQUE(`name`),
KEY `uid_key`(`uid`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#上面语句等同于
CREATE TABLE `tr_test` (
  `uid` int(11) NOT NULL DEFAULT '0',
  `name` varchar(25) DEFAULT NULL,
  UNIQUE KEY `name_key` (`name`),
  KEY `uid_key` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

查看表结构,查看详细表结构

查看表结构用describe TABLE 或者desc TABLE,查看详细表结构可以用SHOW CREATE TABLE

修改表名

ALTER TABLE <旧表名> RENAME [TO] <新表名>

修改字段的数据类型,位置

ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST | AFTER 字段名]

修改字段名

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型> [FIRST | AFTER 字段名]

添加字段

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件(主键,非空,唯一等)] [FIRST | AFTER 字段名]

删除字段

ALTER TABLE <表名> DROP <字段名>

更改表的引擎,默认字体

ALTER TABLE <表名> ENGINE=<新引擎名>;
ALTER TABLE <表名> CHARSET=<新字体名>;

修改主键

由于mysql只允许存在一个主键,所以在修改主键的时候需要删除原来的主键,再重新添加

ALTER TABLE <表名> DROP PRIMARY KEY;
ALTER TABLE <表名> ADD PRIMARY KEY(字段名);

新加索引

ALTER TABLE <表名> ADD [UNIQUE] KEY [索引名](<字段名>);

不写索引名则默认索引名为字段名

删除索引

ALTER TABLE <表名> DROP KEY <索引名>;

添加外键

ALTER TABLE <子表名> ADD CONSTRAINT <外键名> FOREIGN KEY('字段名') REFERENCES <父表名>(<主表主键字段>)
 [[ON DELETE <约束>] [ON UPDATE <约束>]]

ON DELETE 和 ON UPDATE的约束条件有4个
NO ACTION 标准SQL的关键字,在MySQL中与RESTRICT相同。
CASCADE   从父表删除或更新且自动删除或更新子表中匹配的行。
SET NULL  从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指
RESTRICT  拒绝对父表的删除或更新操作。

删除外键

ALTER TABLE <子表明> DROP FOREIGN KEY <外键名>

删除数据表

DROP TABLE [IF EXISTS] 表1,表2,表3...

当表有外键关联的时候,无法进行删除,这个时候需要先删除外键,再进行删除才可以成功。

转载于:https://my.oschina.net/OSrainn/blog/724310

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值