MySQL数据库实验(二):表的操作

实验目的

(1)了解MySQL数据库中的存储引擎分类
(2)了解表的结构特点
(3)了解MySQL的基本数据类型
(4)了解空值的概念
(5)学会在MySQL界面工具中创建数据库和表
(6)学会使用SQL语句创建数据库和表
(7)学会在界面管理工具中对数据库表进行插入、修改和删除数据操作
(8)学会用SQL语句对数据库进行插入、修改和删除数据操作
(9)了解数据更新操作时要注意数据完整性
(10)了解SQL语句对表数据操作的灵活控制功能

实验操作

创建表

利用create table命令创建表

[例1] 创建一个雇员信息表的命令如下

CREATE TABLE employee (
	[empid] [int] NOT NULL primary key clustered,
	[name] [varchar] (20) NOT NULL ,
	[sex] [char] (2) NULL ,
	[birthday] [datetime] NULL ,
	[hire_date] [datetime] not NULL DEFAULT (g etdate()),
	[salary] [money] NULL CHECK ([salary] is null or [salary] >= 450)
) 

[例2] 创建一个学生信息表的命令如下。(这里包括了外键约束)

CREATE TABLE [dbo].[student] (
	[sno] [char] (8) NOT NULL primary key,	[sname] [char] (20) NOT NULL ,
	[sclass] [char] (10) NULL  DEFAULT ('本科'),
	[ssex] [char] (2) NULL DEFAULT ('男') CHECK ([ssex] = '男' or [ssex] = '女'),
	[sdh] [varchar] (14) NULL ,	[scsrq] [datetime] NULL ,
	[srxrq] [datetime] NULL ,	[saddr] [varchar] (50) NULL ,
	[smemo] [varchar] (200) NULL ,	[spno] [char] (4) NULL ,
	[csno] [char] (4) NULL,
CONSTRAINT [FK_student_class] FOREIGN KEY [csno]   
REFERENCES [class] ( csno),
CONSTRAINT [FK_student_speciality] FOREIGN KEY 	(spno) REFERENCES.[speciality] (spno)
)

修改表

利用atler table命令修改表

[例1] 给表student添加sage年龄字段

Alter table student add sage int

[例2] 删除表student的 sage年龄字段

Alter table student drop column sage

查询表

Select * from student;

删除表

利用drop table命令修改表

[例] 删除表employee的的命令

drop table employee;

删除表中的重复记录

已知一个表student中有重复的数据

  1. 创建一张空表tmp_student,空表的结构与表student的结构相同;
create table tmp_student like student;
  1. 将student表进行distinct,将数据导入空表中;
insert into tmp_student select distinct * from student;
  1. 删除原表student
drop table student;
  1. 将tmp_student改名为student
alter table tmp_student rename student;

实验内容要求及步骤:

创建学生成绩管理数据库的三个基本表
( 指定数据库:use 数据库名字)

(1)请运用CREATE语句创建三个基本表;
·学生表Student(SNO,SNAME,AGE,SEX)
其中,SNO为char(10)类型,SNAME为varchar(20)类型,AGE为int型,SEX为char(2)类型。

·课程表Course(CNO,CNAME,TEACHER)
其中,类型分别为char(10)类型,vachar(20),varchar(20)。

·学生选课表Student _ Course(SNO,CNO,GRADE)
其中,类型分别为char(10),char(10),char(10)。

Eg:

 create table sc(sno char(10),cno char(10),grade char(10));

(2)显示表的属性列;
Show columns from 表名;或者 DESC 表名;

Eg:

Show columns from sc;
或者
desc  SC;

(3)修改表的两个字段AGE和SEX为SAGE和SSEX。并显示是否修改成功;
alter table 表名 change column 旧列名 新列名 列类型;
Eg:

alter table SC change column GRADE SC_GRADE INT(8);
Desc sc;

(4)修改表名:将表student修改为S,将Course修改为C;
alter table 原来表名 rename 修改后表名;
Eg:

alter table SC rename SC1;
Show tables;

(5) 修改列属性类型:将 表SC中的grade属性类型char(10)改为int(8);
alter table 表名 modify column 列名 列属性;
Eg:

alter table SC1  modify column sc_grade char(8);

(6) 插入元组:每个表至少要有两个元组,其中S表里面必须包含自己的学号和姓名;
Eg:

insert into s values (‘S1’,’WANG’,20,’M’),(20120067,’zhangjuan’,32,’女’);
insert into SC1 values(20120067,’c4’,90);
select * from SC1;

(7)删除元组;
Eg:

Delete from SC1 WHERE sno=20120067;
select * from SC;

(8)删除表;
Eg:

Drop table sc1;
Show tables;
发布了37 篇原创文章 · 获赞 68 · 访问量 8332

猜你喜欢

转载自blog.csdn.net/ywsydwsbn/article/details/105272994