Mysql表操作及六大约束

动作SQL
创建表CREATE TABLE表名( 字段名 字段名类型(长度);....);
更新表名RENAME TABLE 旧表名 TO 新表名
更新字段名ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段名类型(长度)
更新字段类型、null、默认值ALTER TABLE 表名 MODIF 字段名 新字段类型(长度)
删除字段默认值ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT
设置主键ALTER TABLE 表名 ADD PRIMARY KEY (主键字段列表)
删除主键ALTER TABLE 表名 DROP PRIMARY KEY;
新增字段ALTER TABLE 表名 ADD COLUMN 新字段 字段类型及其他属性;
删除字段ALTER TABLE 表名 DROP COLUMN 字段名;
删除表DROP TABLE 表名
修改库字符编码alter database 库名 CHARACTER SET utf8 COLLATE utf8_general_ci;
修改表字符编码alter table 表名 character set utf8 COLLATE utf8_general_ci;

这里列出几个比较常用的,以后有用到新的会继续添加!

创建表:

在创建表的时候可以使用 COMMENT 进行字段、表的备注,NOT NULL 表示该字段是非空(必填,不写就非必填),default ‘’ 表默认值
主键: primary key (主键字段), 去规范一个字段的唯一性,且不可被更改的,自动进行索引,非空
自增长: auto_increment,添加在列上类型id,必须是键(主键或唯一),默认增长1初始值1,一个表只能设置一个
等等…约束条件.

CREATE TABLE `表名`  (
  `字段` varchar(32) NOT NULL default '默认值' COMMENT '字段注释',
  `create_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
  	primary key (`主键字段`),
  	unique key `uqe_字段` (`字段`),
	key `idx_字段` (`字段`)
)COMMENT = '表注释';

六大约束:

  1. NOT NULL: 非空约束,保证字段不为空
	`字段` varchar(32) NOT NULL
  1. DEFAULT: 默认约束,保证字段有默认值,在非空条件下,也可以不填值
	`字段` varchar(32) NOT NULL DEFAULT '默认值'
  1. PRIMARY KEY: 主键约束,保证字段的唯一性、非空且不可被更改
	CONSTRAINT pk_主键字段 PRIMARY KEY (`主键字段`),
	PRIMARY KEY (`主键字段`),
  1. UNIQUE: 唯一约束,保证字段的唯一性,可以为空
	CONSTRAINT ud_唯一字段 UNIQUE (`唯一字段`),
	UNIQUE  (`唯一字段`),
  1. CHECK: 检查约束,【mysql不支持】
	CONSTRAINT ck_检查字段 CHECK (条件),
  1. FOREIGN KEY: 外键约束,限制两个表的关系,保证改字段在关联主表里面一定存在对应字段(主键或唯一键)
	CONSTRAINT fk_外键字段 FOREIGN KEY(`外键字段`) REFERENCES 关联表名(字段),
	FOREIGN KEY(`外键字段`) REFERENCES 关联表名(字段),

CONSTRAINT 别名 可以省略,使用下面的更为简便。

约束分类:
列级约束:
除了外键其他都可以在列上进行约束
表级约束:
除了非空、默认值其他都可以在表上进行约束

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值