MySQL实验-------2

实验二  创建数据库和表

实验目的与要求

实验目的:DBMS中通过数据完整性约束设计并创建出合理的数据表。

实验要求:

1.了解常见的数据库对象。

2.理解数据表中各种数据类型的应用范畴。

3.了解数据完整性约束的定义。

4.理解完整性约束的类型。

5.掌握非空约束的使用。

6.掌握唯一约束的使用。

7.掌握主键约束的使用。

实验原理

利用完整性约束来建立数据表。

实验主要步骤

参考教材《数据库系统概论》P82-87,P158-165的例题,以及《MySQL数据库入门》第2章P30-51的内容。

  • 利用MySQL客户端窗口创建数据库及表

1.使用命令行方式创建数据库SM(姓名汉语拼音缩写_SM,如CK_SM)

以管理身份登录MySQL客户端,使用CREATE语句创建SM数据库。

命令:create database hjl;

2.建表结构并设计完整性

SM数据库中包含3个数据表:学生表(student)、课程表(course)、学生选课表(SC)。各表的结构分别如下:

student表结构

字段名称

数据类型

是否允许空值

约束

说明

SNo

char(8)

×

主键

学号

SName

varchar(8)

×

唯一值

姓名

SSex

char(2)

×

检查约束

性别(男或女)

SBir

datetime

 

出生日期

Scredits

int

 

总学分

course表结构

字段名称

数据类型

是否允许空值

约束

说明

CNo

char(5)

×

主键

课程编号

CName

varchar(30)

×

唯一值

课程名称

CPno

char(5)

外码

先修课程

CTime

decimal(3,0)

 

总学时

CCredits

int

默认值4

学分

CTerm

char(1)

×

 

学期

SC表结构

字段名称

数据类型

是否允许空值

约束

说明

SNo

char(8)

×

外码

联合主键

学号

CNo

char(5)

×

外码

课程编号

Score

decimal(3,1)

0~100

成绩

(1)创建student表

命令:

mysql> create table student(

    -> Sno char(8) NOT NULL primary key,

    -> SSex char(2) NOT NULL check(SSex in('','')),

    -> SBir datetime,

    -> Scredits int);

截图:

(2)创建course表

命令:

mysql> create table course(

    -> CName varchar(30) NOT NULL unique,

    -> CPno char(5),

    -> CTime decimal(3,0),

    -> CCredits int DEFAULT 4,

    -> CTerm char(1) NOT NULL,

    -> FOREIGN KEY (CPno) REFERENCES course(CPno));

 

截图:

(3)创建SC表

命令:

mysql> create table sc(

    -> SNo char(8) NOT NULL,

    -> CNo char(5) NOT NULL,

    -> Score decimal(3,1) NULL check(Score between 0 and 100),

    -> foreign key(SNo,CNo) references sc(SNo,CNo));

截图:

二、利用界面工具创建数据库及表

利用Navicat for MySQL客户端工具,创建数据库SM1(CK_SM1),并根据上面给出的表结构在SM1中创建各表。

1.建库SM1

截图:

2.建表

(1)创建student1表

截图:

(2)创建course1表

截图:

 

 

(3)创建SC1表

截图:

拓展补充练习:

(1)使用create命令复制表结构(自选数据库中任意一个表进行复制)

命令:

      create table jjj like hjll;

截图:

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值