MySQL数据库表的创建和管理实验指南
创作时间:
作者:
@小白创作中心
MySQL数据库表的创建和管理实验指南
引用
CSDN
1.
https://blog.csdn.net/2301_77161465/article/details/136823610
实验目的
- 了解MySQL数据库的逻辑结构和物理结构的特点。
- 学会使用SQL语句创建、选择、删除数据库。
- 学会使用SQL语句创建、修改、删除表。
- 学会使用SQL语句对表进行插入、修改和删除数据操作。
- 了解MySQL的常用数据类型。
实验环境
MySQL、Navicat
实验内容
数据库表的创建、修改、删除、查看
- 使用SQL语句创建名为studentsdb的数据库,在studentsdb数据库创建数据表student_info、curriculum、grade,并用SQL语句查看表的数据结构,三个表的数据结构如表1-表3所示。
(注意:一个表不能有两个主键,其中grade表前两个字段是作为联合主键,设置联合主键的方法:可以在建表时,在表中各列创建好后,在最后加上:Primary key(字段1,字段2) )
create database studentsdb;
use studentsdb;
create table student_info
(
学号 char(4) primary key,
姓名 char(8) not null,
性别 char(2),
出生日期 date,
家族住址 varchar(50)
);
desc student_info; -- 查看表student_info的字段结构
create table curriculum
(
课程编号 char(4) primary key,
课程名称 varchar(50),
学分 int
);
desc curriculum; -- 查看表curriculum的字段结构
create table grade(
学号 char(4),
课程编号 char(4),
分数 int,
primary key (学号,课程编号)
);
desc grade; -- 查看表grade的字段结构
- 使用SQL语句INSERT向studentsdb数据库的student_info、curriculum、grade表插入数据,各表数据如表4-表6所示。
INSERT INTO student_info(学号,姓名,性别,出生日期,家族住址) VALUES
('0001', '张青平', '男', '2000-10-01', '衡阳市东风路77号'),
('0002', '刘东阳', '男', '1998-12-09', '东阳市八一北路33号'),
('0003', '马晓夏', '女', '1995-05-12', '长岭市五一路763号'),
('0004', '钱忠理', '男', '1994-09-23', '长岭市五一路763号'),
('0005', '孙海洋', '男', '1995-04-03', '长岭市五一路763号'),
('0006', '郭小斌', '男', '1997-11-10', '长岭市五一路763号'),
('0007', '肖月玲', '女', '1996-12-07', '长岭市五一路763号'),
('0008', '张玲珑', '女', '1997-12-24', '长岭市五一路763号');
insert into curriculum (课程编号,课程名称,学分) values
('0001','计算机应用基础','2'),
('0002','C语言程序设计','2'),
('0003','数据库原理及应用','2'),
('0004','英语','4'),
('0005','高等数学','4');
insert into grade(学号,课程编号,分数) values
('0001','0001',80),
('0001','0002',91),
('0001','0003',88),
('0001','0004',85),
('0001','0005',77),
('0002','0001',73),
('0002','0002',68),
('0002','0003',80),
('0002','0004',79),
('0002','0005',73),
('0003','0001',84),
('0003','0002',92),
('0003','0003',81),
('0003','0004',82),
('0003','0005',75);
- 使用SQL语句ALTER TABLE修改curriculum表的“课程名称”列,使之为非空。
alter table curriculum
modify 课程名称 varchar(50) not null;
- 使用SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为decimal(5,2),默认值为0.00。
alter table grade
modify 分数 decimal(5,2) default 0.00 ;
- 使用SQL语句ALTER TABLE为student_info表添加一个名为“备注”的数据列,其数据类型为varchar(50)。
alter table student_info
add 备注 varchar(50);
- 使用SQL语句创建数据库studb,并在此数据库下创建表stu,表结构与数据与studentsdb的student_info表相同。
create database studb; -- 先创建数据库studb
use studb; -- 再使用该数据库
SHOW CREATE TABLE studentsdb.student_info;
-- 展示studentsdb.student_info的创建表结构,后面显示出来后将student_info改为stu,这样子表结构就可以相同
CREATE TABLE `stu` (
`学号` char(4) NOT NULL,
`姓名` char(8) NOT NULL,
`性别` char(2) DEFAULT NULL,
`出生日期` date DEFAULT NULL,
`家族住址` varchar(50) DEFAULT NULL,
`备注` varchar(50) DEFAULT NULL,
PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
insert into stu select * from studentsdb.student_info;
-- 这就是将studentsdb.student_info所有数据都插入到stu里面,就实现了题目要求的啦~
- 用两种方式修改表stu的名称为table_stu,最终改为原名stu.
rename table stu to table_stu;
alter table table_stu rename to stu;
- 修改表stu中的字段名出生日期为Birthday
alter table stu
change 出生日期 Birthday date;
- 使用SQL语句删除表stu中学号为0004的记录
delete from stu where 学号 = '0004';
- 使用SQL语句更新表stu中学号为0002的家族住址为“滨江市新建路96号”。
update studb.stu set 家族住址 ='滨江路新建路96号' where 学号 = '0002';
- 删除表stu的“备注”列。
alter table stu /*先选择该数据表*/
drop column 备注; /*再执行动作*/
- 删除表stu。
drop table stu;
- 删除数据库studb。
drop database studb;
SQL的配置文档
create database studentsdb;
use studentsdb;
create table student_info
(
学号 char(4) primary key,
姓名 char(8) not null,
性别 char(2),
出生日期 date,
家族住址 varchar(50)
);
desc student_info;
create table curriculum
(
课程编号 char(4) primary key,
课程名称 varchar(50),
学分 int
);
create table grade(
学号 char(4),
课程编号 char(4),
分数 INT,
primary key (学号,课程编号)
);
desc student_info;
desc curriculum;
desc grade;
INSERT INTO student_info(学号,姓名,性别,出生日期,家族住址) VALUES
('0001', '张青平', '男', '2000-10-01', '衡阳市东风路77号'),
('0002', '刘东阳', '男', '1998-12-09', '东阳市八一北路33号'),
('0003', '马晓夏', '女', '1995-05-12', '长岭市五一路763号'),
('0004', '钱忠理', '男', '1994-09-23', '长岭市五一路763号'),
('0005', '孙海洋', '男', '1995-04-03', '长岭市五一路763号'),
('0006', '郭小斌', '男', '1997-11-10', '长岭市五一路763号'),
('0007', '肖月玲', '女', '1996-12-07', '长岭市五一路763号'),
('0008', '张玲珑', '女', '1997-12-24', '长岭市五一路763号');
desc student_info;
insert into curriculum (课程编号,课程名称,学分) values
('0001','计算机应用基础','2'),
('0002','C语言程序设计','2'),
('0003','数据库原理及应用','2'),
('0004','英语','4'),
('0005','高等数学','4');
insert into grade(学号,课程编号,分数) values
('0001','0001',80),
('0001','0002',91),
('0001','0003',88),
('0001','0004',85),
('0001','0005',77),
('0002','0001',73),
('0002','0002',68),
('0002','0003',80),
('0002','0004',79),
('0002','0005',73),
('0003','0001',84),
('0003','0002',92),
('0003','0003',81),
('0003','0004',82),
('0003','0005',75);
alter table curriculum modify 课程名称 varchar(50) not null;
desc curriculum;
alter table grade modify 分数 decimal(5,2) default 0.00 ;
desc grade;
alter table student_info add 备注 varchar(50);
desc student_info;
create database studb;
use studb;
SHOW CREATE TABLE studentsdb.student_info;
CREATE TABLE `stu` (
`学号` char(4) NOT NULL,
`姓名` char(8) NOT NULL,
`性别` char(2) DEFAULT NULL,
`出生日期` date DEFAULT NULL,
`家族住址` varchar(50) DEFAULT NULL,
`备注` varchar(50) DEFAULT NULL,
PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
insert into stu select * from studentsdb.student_info;
rename table stu to table_stu;
alter table table_stu rename to stu;
alter table stu change 出生日期 Birthday date;
desc stu;
delete from stu where 学号 = '0004';
update studb.stu set 家族住址 ='滨江路新建路96号' where 学号 = '0002';
alter table stu
drop column 备注;
desc stu;
drop table stu;
drop database studb;
热门推荐
资金互助盘理财:小心高收益背后的陷阱
深圳三日游打卡历史文化景点
深圳三日游,这些网红景点千万别错过!
深圳三日游:莲花山、大梅沙和大鹏所城游玩攻略
银行招聘考试攻略:必备教材与四大科目复习要点
2025银行校招笔试备考:四大模块复习攻略
银行招聘考试指南:教材推荐与考试内容详解
新会陈皮:从“土特产”到“金名片”的蝶变之路
葵禾新会陈皮:七百年传承的药用瑰宝
从华佗到现代环保:道家“我命由我不由天”的传承
高考语文古诗词鉴赏答题模板:分析语言特色题
《青云志》赏析
激励孩子的科学方式,不是给物质奖励,而是善用正向激励
中西文化中的取名习俗大对比
金融危机和新冠肺炎疫情中美联储货币政策的异同、影响及我国应对
从基础到进阶:Markdown数学公式编写指南
央行印钞方式改变,将如何影响你的钱袋子?
爱你,就把你印在钞票上!非洲货币上的中非合作成果
2年中国印钞64万亿,物价下跌、房价下跌、股价下跌,合理吗?
大国印钞史:300万亿历史性时刻
灰指甲治疗神器:伊曲康唑和特比萘芬
拍人像让模特儿更自然摆pose的技巧
环线谢家湾站盲道急待完善
李子坝轻轨站快捷换乘指南:直通重庆西站乘车攻略
《我的世界》:探索创造与生存的无限乐趣与挑战
李明工伤案背后的劳动合同陷阱:健康条款不容忽视
劳动合同条款全解析:必备条款、无效条款及案例解读
汉口银行与农行四川省分行:地方经济发展的金融双引擎
南京银行与民生银行架构大调整,瞄准未来市场布局
华为网络设备安全升级:MAC过滤与端口安全功能详解