当前位置: 代码网 > it编程>数据库>Mysql > 详解MySQL数据库、表与完整性约束的定义(Create)

详解MySQL数据库、表与完整性约束的定义(Create)

2025年04月18日 Mysql 我要评论
第1关:创建数据库编程要求创建用于2022年北京冬奥会信息系统的数据库:beijing2022。create database beijing2022;第2关:创建表及表的主码约束编程要求在右侧&ld

第1关:创建数据库

编程要求
创建用于2022年北京冬奥会信息系统的数据库:beijing2022。

create database beijing2022;

第2关:创建表及表的主码约束

编程要求
在右侧“命令行”窗口中操作,或在“代码文件”窗口中填写语句,创建数据库testdb,在testdb下创建表t_emp,表结构如下:

注意:

必须为表建主码,但不用考虑主码约束的命名;
备注栏仅用于说明列的含义及具体要求,并不要求用comment短语给列作备注。

# 请在以下适当的空白处填写sql语句,完成任务书的要求。空白行可通过回车换行添加。 
create database testdb;
use testdb;
create table t_emp (
    id int primary key,
    name varchar(32),
    deptid int,
    salary float
);
/* *********** 结束 ************* */

第3关:创建外码约束(foreign key)

编程要求
设有以下两张表:

请创建上述两个表,为表定义主键,并给表staff创建外键,这个外键约束的名称为fk_staff_deptno。在创建表之前你可能需要先创建数据库:mydb,并且将两张表创建在mydb数据库中。不需考虑关于性别的约束。(注意:如果你在实验1之后接着作本实验,数据库mydb可能已经存在)

# 请在以下空白处填写完成任务的语句,空白行可通过回车换行添加。
# 你也可以在命令行窗口完成任务,不过,在命令行键入的语句不会被保存。
create database if not exists mydb;
use mydb;
drop table if exists staff;
drop table if exists dept;
create table dept (
    deptno int primary key,
    deptname varchar(32)
);
create table staff (
    staffno int primary key,
    staffname varchar(32),
    gender char(1),
    dob date,
    salary numeric(8,2),
    deptno int,
    constraint fk_staff_deptno foreign key (deptno) references dept(deptno)
);
#结束

第4关:check约束

编程要求
表products的结构如下:

字段名称    数据类型    备注
pid    char(10)    产品户id,主码
name    varchar(32)    产品名称
brand    char(10)    品牌,只能是('a','b')中的某一个
price    int    价格,必须>0

请在数据库mydb中创建表products,并分别实现对品牌和价格的约束,两个check约束的名称分别为ck_products_brand和ck_products_price,主码约束不要显示命名。(提示:如果数据库mydb不存在,请首先创建它,并将它作为工作数据库。)

# 请在以下空白处填写完成任务的语句,空白行可通过回车换行添加。
# 你也可以在命令行窗口完成任务,不过,在命令行键入的语句不会被保存。
create database if not exists mydb;
use mydb;
drop table if exists products;
create table products (
    pid char(10) primary key,          
    name varchar(32),
    brand char(10),
    price int,
    constraint ck_products_brand check (brand in ('a', 'b')),
    constraint ck_products_price check (price > 0)
);
# 结束 

第5关:default约束

编程要求
表hr的结构如下:

字段名称    数据类型    备注
id    char(10)    工号,主码
name    varchar(32)    姓名,不允许为空值
mz    char(16)    民族, 缺省值为“汉族”
请在数据库mydb中创建表hr,并实现name列的not null约束和mz列的default约束(别忘了主码约束)。

# 请在以下空白处填写完成任务的语句,空白行可通过回车换行添加。
# 你也可以在命令行窗口完成任务,不过,在命令行键入的语句不会被保存。
create database if not exists mydb;
use mydb;
create table hr (
    id char(10) primary key,
    name varchar(32) not null,
    mz char(16) default '汉族'
);
# 结束 

第6关:unique约束

编程要求
表s的结构如下:

字段名称    数据类型    备注
sno    char(10)    学号,主码
name    varchar(32)    姓名,不允许为空值
id    char(18)    身份证号, 不允许有两个相同的身份证号
请在数据库mydb中创建表s,并实现相关约束(主码,not null和unique约束)。
注意表名s是小写的,列名id是全大写的。如果没有数据库mydb,你需要创建它,并使其成为当前工作数据库。

# 请在以下空白处填写完成任务的语句,空白行可通过回车换行添加。
# 你也可以在命令行窗口完成任务,不过,在命令行键入的语句不会被保存。
create database if not exists mydb;
use mydb;
create table s (
    sno char(10) primary key,
    name varchar(32) not null,
    id char(18) unique
);
# 结束 

到此这篇关于mysql数据库、表与完整性约束的定义(create)的文章就介绍到这了,更多相关mysql表与完整性约束的定义内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com