Mysql day04_操作数据库,事务

用语句操作数据库和数据表

新建:
库: CREATE DATABASE 数据库名
表: CREATE TABLE 表名

删除: DROP DATABASE 数据库名
DROP TABLE 表名

DROP DATABASE java11_new;

CREATE TABLE t_user(
-- 主键(不可重复,不可为空)
id INT PRIMARY KEY auto_increment,
-- 非空
phone VARCHAR(11) NOT NULL,
-- 非空
pwd   VARCHAR(20) NOT NULL,
address VARCHAR(200),
birthday date,
deptno INT,FOREIGN KEY(deptno) REFERENCES dept(deptno)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
 -- 数据引擎

用工具建表

课程表
cno 课程id 主键 c1
cname 课程名称 java

 c1  java
 c2  mysql

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1-n

学生表

sno 学号 主键
sname 姓名
1 申昊
2 孙欣
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1-n

第三张表

学生-选课表
cno 课程编号(外键)
sno 学号(外键)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符型
DECLLMAL(m,n) m是小数位加整数位 n为小数位

学校想做一个选课系统,其中涉及到课程表,学生表,请分别创建这两个表,自己思考表中应有的列及数据类型。
学校有一个选课系统,其中包括如下关系模式:
系(系编号: 主键,系名称: 唯一键,系主任: 非空约束,系所在校去:默认为浑南区)

在这里插入图片描述
班级(班级编号: 主键,班级名称: 唯一键,所属系: 外键)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建学生表,包含如下属性:
学号 定长字符型 10位 主键
姓名 变长字符型 20位 非空
性别 定长字符型 2位
出生日期 日期型
所在班级
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
事务
1.前置任务
1)数据引擎:innodb
2)自动提交开关先关掉
查看自动提交开关

show variables like 'autocommit';

在这里插入图片描述
默认是on,现在是自动提交的,的把这个开关关闭

set autocommit =0;
show variables like 'autocommit';

在这里插入图片描述
2.测试
原表
在这里插入图片描述

insert into t_class VALUES(null,'java11');
UPDATE t_class SET cno='java_new' WHERE cno='java11';

在这里插入图片描述

COMMIT;-- 提交

在这里插入图片描述
原表
在这里插入图片描述

insert into t_class VALUES(null,'java11');
UPDATE t_class SET cno='java_new' WHERE cno='java11';

在这里插入图片描述

ROLLBACK;-- 回滚

在这里插入图片描述

set autocommit =1;
show variables like 'autocommit';

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值