mysql 约束以及修改列定义(补充)

一、约束:

保证数据完整性和一致性
表级约束和列级约束
- not null(非空约束)
- primary key(主键约束)
- unique key(唯一约束)
- default(默认约束)
- foreign key(外键约束)

外键约束的例子:

mysql> use text;
Database changed
mysql> create table provinces(
    -> id smallint unsigned primary key AUTO_INCREMENT,
    -> pname varchar(20) not null
    -> );
Query OK, 0 rows affected


mysql> show create table provinces;


mysql> create table users(
    -> id smallint unsigned primary key auto_increment,
    -> username varchar(10) not null,
    ->  pid smallint unsigned ,
    -> FOREIGN KEY(pid)REFERENCES provinces (id) //on delete CASCADE 这里增添就是外键约束参照 看情况添加
    -> );
Database changed

这里写图片描述

二、mysql修改列定义

ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]
eg:
ALTER TABLE tbl_name MODIFY id TINYINT NOT NULL FIRST;将id字段改为首字段

修改列名称

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|ALTER col_name]即可以改列名称也可以改列定义
eg:
ALTER TABLE user CHANGE pid p_id TINYINT UNSIGNED NOT NULL; 将pid字段名称更改为p_id,并将其类型更改为TINYINT 

数据表更名

方法一:
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
eg:
ALTER TABLE users2 RENAME users3;将数据表名称更改为user3
方法二
RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2] ....可以为多张数据表进行更名
eg:
RENAME TABLE users2 TO users3;

尽量少进行数据表更名或者数据列的更名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值