MySQL创建数据库需要自行创建,数据库名称可以为【schoolDB】,字符集【utf8】,排序规则【utf8_general_ci】。

1、学生表DDL

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `createDate` datetime DEFAULT NULL,
  `userName` varchar(20) DEFAULT NULL,
  `pwd` varchar(36) DEFAULT NULL,
  `phone` varchar(11) DEFAULT NULL,
  `age` tinyint(3) unsigned DEFAULT NULL,
  `sex` char(2) DEFAULT '男',
  `introduce` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  1. 2、插入学生信息DML

  2. insert into student values(0,'2024-02-25 10:10:10','赵灵儿','123',
    '15612345678',16,'女','逍遥哥哥,你终于找到我了。');
    insert into student values(0,'2024-02-25 10:10:10','王语嫣','123',
    '15612345678',17,'女','慕容复,我和你不共戴天。');
    insert into student values(0,'2024-02-25 10:10:10','龙姑娘','123',
    '15612345678',22,'女','我想过过过儿过过的日子。');
    insert into student values(0,'2024-02-25 10:10:10','杨过','123',
    '15612345678',18,'男','一遇杨过误终身。');
    insert into student values(0,'2024-02-25 10:10:10','杨逍','123',
    '15612345678',27,'男','杨过跟程英的大儿子。');
    insert into student (userName,age,introduce)values('黄衣女子',26,'杨过与龙姑娘的大女儿。');

    实际效果:

  3. 3、基础查询测试DQL

  4. # 基础查询
    select * from student;
    # 筛选列(匿名)与筛选数据行
    select userName as 姓名,age '年龄',sex '性别',introduce '简介' 
    from student
    where pwd is not null;
    # 分页 limit·有两个重载函数常用,
    # 1、一个参数为显示条数
    # 2、一个参数为从那条开始查询(下标从0开始计算),零一参数为显示条数
    select * from student limit 3,2;# 从4(0-3)开始查询查2条。
    # 排序,order by根据数值类型进行排序会比较准确。
    select * from student order by age desc limit 3;
    # 去重语句distinct
    select distinct sex '性别类型' from student;

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建名为"SchoolDB"的数据库,并指定字符集utf8,排序规则utf8_general_ci ```sql CREATE DATABASE SchoolDB CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 2. 创建学生信息表、课程信息表、教师信息表和学生选课表 - 学生信息表 ```sql CREATE TABLE `SchoolDB`.`student` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(45) NOT NULL, `gender` ENUM('male','female') NOT NULL, `birthday` DATE NOT NULL, `class` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ); ``` - 课程信息表 ```sql CREATE TABLE `SchoolDB`.`course` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(45) NOT NULL, `teacher_id` INT NOT NULL, PRIMARY KEY (`id`), CONSTRAINT `fk_course_teacher` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION ); ``` - 教师信息表 ```sql CREATE TABLE `SchoolDB`.`teacher` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(45) NOT NULL, `gender` ENUM('male','female') NOT NULL, `birthday` DATE NOT NULL, `title` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ); ``` - 学生选课表 ```sql CREATE TABLE `SchoolDB`.`choose_course` ( `id` INT NOT NULL AUTO_INCREMENT, `student_id` INT NOT NULL, `course_id` INT NOT NULL, `score` FLOAT NULL, PRIMARY KEY (`id`), CONSTRAINT `fk_choose_course_student` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_choose_course_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION ); ``` 3. 数据完整性约束的设置 - 学生信息表的主键约束已经在创建表时添加,无需再次添加。 - 课程信息表的主键约束已经在创建表时添加,无需再次添加。 - 教师信息表的主键约束已经在创建表时添加,无需再次添加。 - 学生选课表的主键约束已经在创建表时添加,无需再次添加。 - 学生信息表和学生选课表的外键约束 ```sql ALTER TABLE `SchoolDB`.`choose_course` ADD CONSTRAINT `fk_choose_course_student` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; ``` - 课程信息表和学生选课表的外键约束 ```sql ALTER TABLE `SchoolDB`.`choose_course` ADD CONSTRAINT `fk_choose_course_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; ``` 注意:以上 SQL 语句仅供参考,根据具体情况需要根据需要进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值