头歌MySQL数据定义与操作实战(一)

实验一:数据库和表的操作

实验目的:
1:学会使用MySQL语句创建数据库、创建表、使用主键约束、外键约束、添加常用约束
2:学会使用MySQL语句查看表结构与修改表名、修改字段名与字段数据类型、添加与删除字段、修改字段的排列位置、删除表的外键约束
3:学会使用MySQL语句插入数据、更新数据、删除数据

1.1在命令行中连接MySQL,并创建一个名为MyDb的数据库。

mysql -uroot -p123123 -h127.0.0.1
mysql> create database MyDb;
mysql>show databases;#命令查看MySQL中已存在的数据库。

1.2在命令行中操作,创建数据库TestDb,在TestDb下创建表t_emp

mysql> create database TestDb;
mysql> use TestDb;
mysql> create table t_emp(
    -> id Int,
    -> name VARCHAR(32),
    -> deptId Int,
    -> salary FLOAT
    -> );
mysql> desc t_emp;

1.3在数据库MyDb中,创建两张表t_user1,t_user2,表结构如下,请为两张表分别创建主键约束,t_user1的主键为userId,t_user2的主键为联合主键,将字段name和phone作为t_user2的联合主键。

mysql> create database MyDb;

mysql> use MyDb;

mysql> create table t_user1(
    -> userId Int primary key,    
    -> name VARCHAR(32),
    -> password VARCHAR(11),    
    -> phone VARCHAR(11),
    -> email VARCHAR(32)
    -> );


mysql> create table t_user2(
    -> name VARCHAR(32),    
    -> phone VARCHAR(11),    
    -> email VARCHAR(32),    
    -> PRIMARY KEY(name,phone)
    -> );

1.4创建两张表如下,给t_student表添加外键约束,外键为classId,外键名称为fk_stu_class1。

mysql> create database MyDb;
mysql> use MyDb;
mysql> create table t_class(
    -> id int primary key,
    -> name VARCHAR(22));
mysql> create table t_student(
    -> id int primary key,
    -> name VARCHAR(22),
    -> classId int,
    -> CONSTRAINT fk_stu_class1 FOREIGN KEY(classId) REFERENCES t_class(id)
    -> );

1.5在数据库MyDb中创建表t_user,表结构如下:

mysql> create database MyDb;
mysql> use MyDb;
mysql> create table t_user(    
    -> id int primary key AUTO_INCREMENT,    
    -> username varchar(32) NOT NULL UNIQUE,    
    -> sex varchar(4) DEFAULT '男'    
    -> );

2.1根据提示,在编辑器补充代码:
把数据表tb_emp改名为jd_emp;
查看该数据库下数据表的列表;
查看数据表jd_emp的基本结构。

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## modify the table name ##########
ALTER TABLE tb_emp RENAME jd_emp;


########## show tables in this database ##########
show tables;


########## describe the table ##########

describe jd_emp;

########## End ##########

2.2根据提示,在编辑器补充代码:
把数据表tb_emp的字段Id改名为prod_id,数据类型不变;
把数据表tb_emp字段Name的数据类型改为varchar(30)。
数据表结构如下:

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## change the column name ##########
ALTER TABLE tb_emp change Id prod_id int(11);


########## change the data type of column ##########
ALTER TABLE tb_emp MODIFY Name varchar(30);


########## End ##########

DESCRIBE tb_emp;

2.3根据提示,在编辑器补充代码:
在数据表tb_emp的Name字段后添加字段Country,数据格式为varchar(20);
删除数据表tb_emp中的字段Salary。
数据表结构如下:

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## add the column ##########
ALTER TABLE tb_emp ADD Country varchar(20) AFTER Name;

 
########## delete the column ##########

ALTER TABLE tb_emp DROP Salary;

########## End ##########

DESCRIBE tb_emp;

2.4根据提示,在编辑器补充代码:
将数据表tb_emp的Name字段移至第一列,数据格式不变;
将DeptId字段移至Salary字段的后边,数据格式不变。
数据表结构如 2.3 中图片所示:

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## modify the column to top ##########
ALTER TABLE tb_emp MODIFY Name varchar(25) FIRST;


########## modify the column to the rear of another column ##########
ALTER TABLE tb_emp MODIFY DeptId int(11) AFTER Salary;


########## End ##########

DESCRIBE tb_emp;

2.5我们已经为你建立了主表tb_dept和子表tb_emp,在表tb_emp上添加了名称为emp_dept的外键约束,外键名称为DeptId,依赖于表tb_dept的主键Id,下面那是两张表的结构展示:
请你根据提示,在编辑器Begin-End中补充代码:
删除数据表tb_emp的外键约束emp_dept。

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## delete the foreign key ##########
ALTER TABLE tb_emp DROP FOREIGN KEY emp_dept;


########## End ##########
SHOW CREATE TABLE tb_emp \G;

3.1我们为你新建了一个空数据表tb_emp,请你为它同时添加3条数据内容。空数据表结构如下,注意字段3 为DeptId,倒数第二个字母为大写的i:需要你同时添加的数据内容为:(注意,是同时插入多条记录)

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## bundle insert the value ##########
INSERT INTO tb_emp(Id,Name,DeptId,Salary)
VALUE(1,"Nancy",301,2300.00),(2,"Tod",303,5600.00),(3,"Carly",301,3200.00);


########## End ##########
SELECT * FROM tb_emp;

3.2我们为你新建了一个数据表tb_emp,并添加了3条数据内容。3条数据内容如下表所示:请你将Carly改为Tracy,相应的,301改为302,3200.00改为4300.00。

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## update the value ##########
UPDATE tb_emp
SET Name="Tracy",DeptId=302,Salary=4300.00
WHERE id=3;


########## End ##########

SELECT * FROM tb_emp;

3.3请你将3.2图中Salary大于3000的数据行删除。

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## delete the value ##########
DELETE FROM tb_emp
WHERE Salary>3000;


########## End ##########

SELECT * FROM tb_emp;

你可能感兴趣的:(数据库实验,mysql,数据库,sql)