mysql使用笔记

创建数据库
create database database_name;
删除数据库
drop database database_name;
创建表

//最简单的语法
CREATE TABLE userinfo(
	id INT ,
	uname VARCHAR(40) ,
	address VARCHAR(120) ,
	hobby VARCHAR(200) ,
 	primary key id
);
//包含约束、联合主键、检验约束、enum、注释
CREATE TABLE if not exists userinfo(
	id INT AUTO_INCREMENT ,
	uname VARCHAR(40) not null ,
	phone_number VARCHAR(20) unique,
	address VARCHAR(120) default 'china',
	hobby_no VARCHAR(200) COMMENT = '爱好',
	gender VARCHAR(10) ENUM('男''女'),
	age INT check (age>=0 and age<100),
 	primary key (id,uname)
 	foreign key(hobby_no )
	references hobby(hobby_no )
	on update cascade
	on delete cascade
)COMMENT = '用户信息表';

添加外键约束
alter table score
add constraint score_constraint
foreign key(student_no) references student(student_no);

外键语法

constraint foreign_key_name  foreign key (col_name1 [,col_name2….])
references table_name(col_name1[,col_name2...)]) 
[on delete {restrict | cascade | set null | no action}] 
[on update  {restrict | cascade | set null | no action}] 

(1)constraint foreign_key_name:定义外键约束和约束名。foreign key (col_name1 [,col_name2….],外键引用的字段表。
(2)外键被定义为表的完整性约束,reference_definition中包含了外键所参照的表和列,还可以声明参照动作。
(3)restrict:当要删除或更新父表中被参照列上在外键中出现的值时,拒绝对父表的删除或更新操作。
(4)cascade:从父表删除或更新行时自动删除或更新子表中匹配的行

(5)set null:当从父表删除或更新行时,设置子表中与之对应的外键列为null。如果外键列没有指定not null限定词,这就是合法的。
(6)no action:no action意味着不采取动作,就是如果有一个相关的外键值在被参考的表里,删除或更新父表中主要键值的企图不被允许,和restrict一样。
(7)set default:作用和set null一样,只不过set default是指定子表中的外键列为默认值。

修改表的注释
ALTER TABLE userinfo COMMENT ‘用户信息资料表’;

修改字段的注释,注意:字段名和字段类型照写就行
ALTER TABLE userinfo MODIFY COLUMN uname VARCHAR(40) COMMENT ‘姓名’;

修改主键
alter table student drop primary key;
alter table student add primary key (student_no);

添加表字段

ALTER TABLE test_table ADD COLUMN add_column VARCHAR (50) NULL DEFAULT NULL COMMENT '添加字段' AFTER `id`;
//after为新增字段位置

varchar为变长度字符串
char为固定长度字符串
varchar使用久了会产生磁盘碎片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值