学习MySQL的第二天(2)

举报
多米诺的古牌 发表于 2021/02/25 17:15:00 2021/02/25
【摘要】 1.2.7 外键(不建议使用,一般在应用层级实现) 1.2.7.1 定义外键key 1.2.7.2 给这个外键添加约束 执行引用 eg: CREATE TABLE grade( `grade_id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `grade_name` VARCHAR(20) NOT NULL COMMEN...
1.2.7 外键(不建议使用,一般在应用层级实现)
		1.2.7.1 定义外键key
		1.2.7.2 给这个外键添加约束 执行引用 
		eg:
		
		CREATE TABLE grade(
			`grade_id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
			`grade_name` VARCHAR(20) NOT NULL COMMENT '班级名称',
			PRIMARY KEY(`grade_id`)
		)ENGINE=INNODB DEFAULT CHARSET=utf8;
		
		CREATE TABLE IF NOT EXISTS student(
			`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '主键',
			`name` VARCHAR(20) DEFAULT '匿名' COMMENT '姓名',
			`pwd` VARCHAR(20) DEFAULT '12345' COMMENT '密码',
			`sex` VARCHAR(2) DEFAULT '男' COMMENT '性别',
			`brithday` DATETIME DEFAULT NULL COMMENT '出生日期',
			address VARCHAR(100) DEFAULT NULL COMMENT '地址', 
			`gradeid` INT(10) NOT NULL COMMENT '学生年级',
			email VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
			PRIMARY KEY(`id`),
			KEY `FK_gradeid` (`gradeid`), -- 创建一个键 后面这个本表中的 gradeid
			CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) -- 将这个创建的键值FK_gradeid 添加为外键 
			REFERENCES `grade`(`grade_id`) -- 引用grade表中的 grade_id字段
		)ENGINE=INNODB DEFAULT CHARSET=utf8
		1.2.7.3 在已建好的表中添加外键
			ALTER TABLE `student` ADD CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`grade_id`);
	1.2.8 DML(数据操作语言)
		1.2.8.1 新增
			insert into XXX表 (字段1,字段2...) values (值1,值2...);
			插入多个值:insert into XXX表 (字段1,字段2...) values (值1,值2...),(值1,值2...),(值1,值2...)...;
		1.2.8.2 修改
			update table XXX表 set XXX字段1 = 'XXX值', XXX字段1 = 'XXX值'... where 条件;
		1.2.8.3 删除
			delete from XXX表 where 条件;
			1.2.8.3.1 delete和truncate的区别
				1.2.8.3.1.1 都不会删除表结构,只删除里面的数据
				1.2.8.3.1.2 truncate 清空表 自增列会恢复为初始值,不会影响事务
				1.2.8.3.1.3 delete的时候 重启数据库
								INNODB 自增列会恢复为初始值(存在内存中,断电即失)
								MYISAM 继续从上一个自增量开始(存在文件中,不会丢失)
	1.2.9 DQL(数据查询语言)
		select * from XXX表;
		-- concat(a,b)连接函数
		-- distinct 去重
		-- select version(); 查询版本号
		-- select @@auto_increment_increment 查询自增的步长
			
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。