01 06SQL进阶及查询练习之数据定义语言

本文通过一系列实验步骤,演示了在MySQL 8.0.19中进行数据定义语言的操作,包括创建数据库、用户授权、表的创建与修改、索引的建立与删除,以及参照完整性的管理。实验涵盖了从基本表结构到复杂约束的实践应用。
摘要由CSDN通过智能技术生成

1 写在前面

笔者使用的数据库为MySQL数据库,版本为8.0.19。下面图片为数据库各表中信息。


2 实验准备

(1)使用命令行或者其他软件登入数据库,cmd命令行mysql登入语法如下:

#这里使用root账户登录
mysql -uroot -p123

(2)创建一个用于实验的数据库

CREATE DATABASE test_simple_practice;

(3)之后考虑到安全问题,不使用root账户操作此数据库,因此新建一个用户并且赋予此用户在用于实验的数据库的所有操作权限。

#创建新用户,用户名为simple,密码为123
#创建语法:CREATE USER username@ipaddress IDENTIFIED BY 'password';
CREATE USER simple@localhost IDENTIFIED BY '123';
#赋予数据库权限
#语法:GRANT authority1,...,authorityn ON database.* TO username@ipaddress
GRANT ALL ON test_simple_practice.* TO simple@localhost;

(4)接着创建四个数据库表(使用下面例1-1的要求创建,之后再修改)。

CREATE TABLE Department(
DEPTNO CHAR(2),
DEPTNAME CHAR(10),
PRIMARY KEY(DEPTNO)
);

CREATE TABLE Student(
SNO CHAR(5),
SNAME CHAR(8) NOT NULL,
SDEPT CHAR(2) NOT NULL,
SCLASS CHAR(2) NOT NULL,
SAGE NUMERIC(2),
PRIMARY KEY(SNO),
CONSTRAINT fk_student_sdept FOREIGN KEY(SDEPT) REFERENCES Department(DEPTNO)
);

CREATE TABLE Course(
CNO CHAR(3),
CNAME CHAR(16) NOT NULL,
CTIME NUMERIC(3),
PRIMARY KEY(CNO),
UNIQUE(CNAME)
);

CREATE TABLE Teach(
TNAME CHAR(8),
TSEX CHAR(2),
CNO CHAR(3),
TDATE DATE,
TDEPT CHAR(2),
PRIMARY KEY(TNAME, CNO, TDEPT),
CONSTRAINT fk_teach_course FOREIGN KEY(CNO) REFERENCES Course(CNO)
);

CREATE TABLE SCORE(
SNO CHAR(5),
CNO CHAR(3),
SCORE NUMERIC(5,2),
PRIMARY KEY(SNO, CNO),
CONSTRAINT fk_score_student FOREIGN KEY(SNO) REFERENCES Student(SNO),
CONSTRAINT fk_score_course FOREIGN KEY(CNO) REFERENCES Course(CNO)
);

(5)进行数据的导入。

#Department表信息导入
INSERT INTO Department(DEPTNO,DEPTNAME) 
VALUES('CS','计算机系'),('MA','数学系'),('IS','信息系'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值