mysql 三

2019年5月1日17:54:43 发表评论 1,411 views
desc student;
int 只有11位长度
身份证是用varchar
alter table 表名 rename to 新表名;
修改表名
alter table tb_name change name new_name data_type;
修改字段名
alter table tb_name modify fiele_name data_type;
修改字段类型
alter table tb_name add [column] field_name data_type;
添加字段
alter table tb_name drop [column] fileld_name;
删除字段
约束条件:
默认: default
create table tb(id int defaule 1,name varchar(20));
非空: not null
create talbe tb(id int not null, name varchar(20));(空字符不等于null)
唯一: unique key
create table tb(id int unique key, name varchar(20));
自增长: auto_increment
主键: primary key
create table tb( id int primary key auto_increment, name varchar(20));
自动编号,和主键组合使用,一个表里面只能有一个自增长,auto_increment 要求用在主键上
外键:foreign key
作业:
建立选课系统中的4张表: (学院表,学生表,课程表,选课表) , 并每张表插入4条数据
create database relation;
创建数据库
create table collage(id int primary key, c_name varchar(20));
创建学院表# 设定主键为学院id
create table student(id int primary key ,name varchar(20), c_id int , foreign key(c_id)  references collage(id));
创建学生表# 设定主键为学生id,并且以学院id为外键关联学院表的id为主键
create table cours ( id int primary key ,name varchar(20), c_id int, foreign key(c_id) references collage(id));
创建课程表# 设置课程id为主键,并且关联学院为主键
create table s_cours(stu_id int ,cours_id int ,primary key(stu_id,cours_id), foreign key(stu_id) references student(id) , foreign key(cours_id) references cours(id));
创建选课表,用学生id和选课id分别关联课程表和学生表,以保证学生id和所选课的id的正确性。(数据类型不一致无法创建主键)
insert into collage values(1,'shangxueyuan'),(2,'meishuxueyuan'),(3,'jisuanjixueyuan'),(4,'ligongxueyuan');
插入四条学院信息
insert into student values(1,'zhangsan',3),(2,'lisi',2),(3,'moran1',2),(4,'moran2',4);
插入四条学生信息
insert into cours values(1,'zhengzhi1',3),(2,'zhengzhi2',2),(3,'zhengzhi3',2),(4,'zhengzhi4',4);
插入四条课程信息
insert into s_cours values(1,3),(2,2),(3,2),(4,4),(1,2);
插入五条学生和选课信息
查询:
查询编号为1的学生选了哪些课
select name from cours where id = (select cours_id from s_cours where stu_id = 1);
ysql> select name from cours where id = (select cours_id from s_cours where stu_id = 1);
ERROR 1242 (21000): Subquery returns more than 1 row  返回超过两个如何解决?

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: