MySQL: 手写的SQL语句.可直接执行 ---学生表,老师表,课程表,班级表,成绩表

MySQL: 手写的SQL语句.可直接执行

学生表,老师表,课程表,班级表,成绩表

  • 删除 表 如果 存在 表名
    drop table if EXISTS tbl_score; – 删除成绩(先删除外键表再删主表)
    drop table if EXISTS tbl_student; – 删除学生
    drop table if EXISTS tbl_class; – 删除班级
    drop table if EXISTS tbl_teacher; – 删除老师
    drop table if EXISTS tbl_course; – 删除课程

  • create table 表名 (
    列名1 类型 约束1 约束2 ,
    列名2 类型 约束,

    )


常见约束/列的限制条件

primary key :主键特点:唯一不能重复!
auto_incement: 自增,自增列必须为int类型
表中必须有主键,为了防止未设置主键,习惯添加整数自增的id列为虚拟主键
default: 默认
not null 非空
unique : 唯一约束!

常用的数据类型:

整数
varchar(长度) 可变长度 常用
char(N) 固定字符长度
浮点类型/小数: float/double
date.datetime, time

  • 班级对象(tbl_class) : 唯一标识id,班级编号,人数
    create table tbl_class(
    id int primary key auto_increment COMMENT ‘注释主键’, – 主键自增
    cname varchar(50),
    size int # 班级人数
    );

  • 插入 到 表名(列1名,列2名,列3名) 值(列1值,列2值,列3值…)
    insert into 表名(…) values(…)

  • insert into tbl_class values(default,‘人工智能一班’,30); # 不制定列名,必须为所有列都插入数据,主键自增用default代替!

insert into tbl_class values(default,'人工智能一班',30);
insert into tbl_class values(default,'数据分析一班',30);
insert into tbl_class values(default,'爬虫一班',30);
insert into tbl_class values(default,'大数据',30);
  • 学生对象(student): 唯一标识id,姓名,性别,年龄,生日,电话,地址,邮箱,班级编号
    create table tbl_student(
    id int primary key auto_increment, #id自增
    sname varchar(50) not null, – 非空
    sex char(2), – 2个字符
    age int ,
    birthday date, – 日期年月日
    phone VARCHAR(11), – 字符串(必须为字符串,因为项目中经常对手机号进行截取,拼接等操作)
    email varchar(50),
    addr varchar(100),
    c_id int, – 外键类型必须和主键类型相同! 学生需要班级名,实际保存的是班级外键(班级id)
    foreign key(c_id) references tbl_class(id) – 外键 (外键列名) 参考 主表(主键)

);

  • 插入数据 (如果班级id不存, 直接报错!)
  • 必须先删除从表,再删除主! 学生参考班级, 学生就是主表!
insert into tbl_student values(default,'张A','男',20,'1980-04-03','18888888888','[email protected]','北京',1);
insert into tbl_student values(default,'张B','男',20,'1980-04-03','18888888888','[email protected]','北京',1);
insert into tbl_student values(default,'赵C','女',21,'1980-04-03','18888888888','[email protected]','天津',1);
insert into tbl_student values(default,'赵D','女',21,'1980-04-03','18888888888','[email protected]','天津',1);
insert into tbl_student values(default,'钱E','女',21,'1980-04-03','18888888888','[email protected]','上海',1);
insert into tbl_student values(default,'钱F','男',17,'1980-04-03','18888888888','[email protected]','上海',1);
insert into tbl_student values(default,'孙G','男',16

你可能感兴趣的:(mysql,sql,数据库)