小呆呆的生活

  • 首页
  • 分类
    • Linux
    • MySQL
    • SpringBoot
    • SpringCloud
  • 工具
  • 留言
  • 登录
  • 注册
  • 友情链接
    • 咸鱼的窝
    • DIY熙的家
    • Farmer的自习室
    • Dark的小黑屋
  • 关于
人的一生注定会遇到两个人
一个惊艳了时光,一个温柔了岁月
  1. 首页
  2. MySQL
  3. 正文

MySQL练习(一)

2021年 9月 12日 1058次阅读 0人点赞 0条评论

1.创建表date_test,包含列d,类型为date型。试向date_test表中插入两条记录,一条当前系统日期记录,一条记录为“1998-08-18”。

CREATE table data_test(
    `d` DATE
)

INSERT INTO data_test(d) VALUES(Now());
INSERT INTO data_test(d) VALUES("1998-08-18");

2.创建与dept表相同表结构的表dtest,将dept表中部门编号在40之前的信息插入该表。

CREATE TABLE `dept` (
  `DEPTNO` int(2) NOT NULL auto_increment,
  `DNAME` varchar(14) default NULL,
  `LOC` varchar(13) default NULL,
  PRIMARY KEY  (`DEPTNO`)
);

INSERT  INTO `dept`(`DEPTNO`,`DNAME`,`LOC`) values (10,'ACCOUNTING','NEW YORK'),(20,'RESEARCH','DALLAS'),(30,'SALES','CHICAGO'),(40,'OPERATIONS','BOSTON');

3.创建与emp表结构相同的表empl,并将其部门编号为前30号的员工信息复制到empl表。

CREATE table dtest SELECT * from dept WHERE deptno <40;

CREATE TABLE `emp` (
  `EMPNO` int(4) NOT NULL auto_increment,
  `ENAME` varchar(10) default NULL,
  `JOB` varchar(9) default NULL,
  `MGR` int(4) default NULL,
  `HIREDATE` date default NULL,
  `SAL` double(7,2) default NULL,
  `COMM` double(7,2) default NULL,
  `DEPTNO` int(2) default NULL,
  PRIMARY KEY  (`EMPNO`),
  KEY `FK_DEPTNO` (`DEPTNO`),
  CONSTRAINT `FK_DEPTNO` FOREIGN KEY (`DEPTNO`) REFERENCES `dept` (`DEPTNO`)
);

insert  into `emp`(`EMPNO`,`ENAME`,`JOB`,`MGR`,`HIREDATE`,`SAL`,`COMM`,`DEPTNO`) values (7369,'SMITH','CLERK',7902,'1980-12-17',800.00,NULL,20),(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600.00,300.00,30),(7521,'WARD','SALESMAN',7698,'1981-02-22',1250.00,500.00,30),(7566,'JONES','MANAGER',7839,'1981-04-02',2975.00,NULL,20),(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250.00,1400.00,30),(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850.00,NULL,30),(7782,'CLARK','MANAGER',7839,'1981-06-09',2450.00,NULL,10),(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000.00,NULL,20),(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000.00,NULL,10),(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500.00,0.00,30),(7876,'ADAMS','CLERK',7788,'1987-05-23',1100.00,NULL,20),(7900,'JAMES','CLERK',7698,'1981-12-03',950.00,NULL,30),(7902,'FORD','ANALYST',7566,'1981-12-03',3000.00,NULL,20),(7934,'MILLER','CLERK',7782,'1982-01-23',1300.00,NULL,10);

CREATE table emp1 SELECT * from emp WHERE deptno <=30;

4.试为学生表student增加一列学生性别gender 默认值 “女”。

CREATE table student (
    `sno` INT NOT NULL PRIMARY KEY,
    `sname` VARCHAR(20)
);

alter table student add gender varchar(10) DEFAULT("女");

5.试修改学生姓名列数据类型为定长字符型10位。

alter table student MODIFY `sname` CHAR(10);

6.简述5种约束的含义。

  1. 主键约束(Primay Key Coustraint) 唯一性,非空性
  2. 唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
  3. 检查约束 (Check Counstraint)对该列数据的范围、格式的限制(如:年龄、性别等)
  4. 默认约束 (Default Counstraint)该数据的默认值
  5. 外键约束 (Foreign Key Counstraint)需要建立两表间的关系并引用主表的列

7.创建学生关系sc,包括属性名:

选课流水号 数值型 主键;

学生编号 非空 外键

课程编号 非空 外键;

成绩 0-100之间;

CREATE table course (
    cno INT not NULL PRIMARY KEY,
    cname VARCHAR(10)
)

CREATE table sc (
    `num` INT PRIMARY Key,
    `sno` INT NOT NULL ,
    `cno` INT Not NULL,
    `grade` INT,
    FOREIGN KEY (sno) REFERENCES student(sno),
    FOREIGN KEY (cno) REFERENCES course(cno),
    CHECK ('grade'>=0 AND 'grade' <=100)
)

8.创建copy_emp,要求格式同emp表完全一样,不包含数据。

CREATE TABLE copy_emp AS SELECT * FROM emp WHERE 1=2;

9.创建copy_dept,要求格式同dept表完全一样,不包含数据。

CREATE TABLE copy_dept AS SELECT * FROM dept WHERE 1=2;

10.设置copy_emp 表中外键deptno,参照copy_dept中deptno,语句能否成功,为什么?

ALTER table copy_emp add FOREIGN KEY(DEPTNO) REFERENCES copy_dept(DEPTNO);

不能,因为他没约束,即没有主键或者没有唯一索引

11.追加copy_dept表中主键deptno

ALTER TABLE copy_dept ADD PRIMARY KEY(deptno);
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: MySQL
最后更新:2021年 10月 12日

小呆呆

知足常乐,就会拥有幸福

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

小呆呆

知足常乐,就会拥有幸福

最新 热点 随机
最新 热点 随机
本站暂时停止更新,后续文章将在CSDN更新 数据库索引简析 Java多线程的使用场景以及线程的创建方式 Spring事务的使用示例和传播行为以及失效场景 Spring Boot使用JUnit和Mockito进行Service层单元测试 Spring Cloud Zuul和Gateway的简单示例(搭建方式)
SpringCloud项目搭建方式 阿里云免费SSL证书介绍 Thymeleaf的简单介绍 Spring Cloud Eureka的理解以及搭建方式(实现示例) IntelliJ IDEA软件内如何更新到最新版本 Java面试高频(三)
标签聚合
干货 SpringCloud SpringBoot 面试 后端 MySQL Java Spring
最近评论
我是可是尼古拉斯·爱新觉·罗·G·钰豪啊 发布于 4 年前(04月08日) 我来注水了胜哥 :hehe:
鸟人金 发布于 4 年前(03月03日) v
鸟人金 发布于 4 年前(03月03日) 胜哥yyds
鸟人金 发布于 4 年前(03月03日) 我滴偶像!!!!!!!!!!!!!!!
水军2号 发布于 4 年前(03月03日) 胜哥tql
归档
  • 2024 年 4 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 8 月
  • 2023 年 6 月
  • 2022 年 11 月
  • 2022 年 8 月
  • 2022 年 6 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 6 月
  • 2021 年 4 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 8 月
  • 2020 年 7 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月

COPYRIGHT © 2023 小呆呆的生活. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备2020104583号

粤公网安备44011802000463号