|
#3.创建两个数据库,一个名为自己姓名首字母,一个名为老师名字首字母的数据库
CREATE DATABASE IF NOT EXISTS lgp;
#使用数据库
USE lgp;
CREATE DATABASE IF NOT EXISTS dsj;
USE dsj;
#4.使用SHOW语句来查看已经存在的数据库
SHOW DATABASES;
#5.查看用自己姓名创建数据库的信息
SHOW CREATE DATABASE lgp;
#6.修改名为自己数据库的字符集为gbk
ALTER DATABASE lgp CHARACTER SET utf8;
#7.删除数据库
DROP DATABASE dsj;
DROP DATABASE lgp;
#8.查看正在使用的数据库
SELECT DATABASE();
#9.使用/切换数据库切换到自己姓名数据库
USE lgp;
#10.创建一个表,使用存在就重新删除创建
DROP TABLE IF EXISTS tb_department;
CREATE TABLE tb_department
(
dep_name VARCHAR ( 20 ) NOT NULL COMMENT '系名',
dep_phone VARCHAR ( 20 ) NOT NULL UNIQUE COMMENT '电话',
PRIMARY KEY ( dep_name )
) DEFAULT CHARSET = utf8;
INSERT INTO tb_department
VALUES
( '大数据学院', '10086' ),
( '大健康学院', '110' ),
( '工程学院', '119' ),
( '体育学院', '123' ),
( '学院', '206' );
#查询表创建是否成功
SELECT * FROM tb_department;
DROP TABLE IF EXISTS tb_course;
CREATE TABLE tb_course
( cou_id VARCHAR ( 20 ) NOT NULL COMMENT '课程号',
cou_name VARCHAR ( 20 ) NOT NULL COMMENT '课程名',
PRIMARY KEY ( cou_id )
) DEFAULT CHARSET = utf8;
#添加表的内容
INSERT INTO tb_course VALUES
( 'kc01', '技术与应用' ),
( 'kc02', 'JAVA' ),
( 'kc03', 'JAVAWEB' ),
( 'kc04', '概论' ),
( 'kc20652114267', '技术' );
SELECT * FROM tb_course;
DROP TABLE IF EXISTS tb_student;
CREATE TABLE IF NOT EXISTS tb_student (
S_id VARCHAR ( 20 ) NOT NULL UNIQUE COMMENT '学号',
S_name VARCHAR ( 20 ) NOT NULL COMMENT '姓名',#S_sex VARCHAR(2) COMMENT'性别' NOT NULL CHECK(S_sex IN('M','F')),
S_sex ENUM ( '男', '女' ) DEFAULT '男',
S_age INT ( 2 ) NOT NULL COMMENT '年龄',
S_dep_name VARCHAR ( 20 ) NOT NULL COMMENT '系名',
PRIMARY KEY ( S_id ),
CONSTRAINT FK_ID_1 FOREIGN KEY ( S_dep_name ) REFERENCES tb_department ( dep_name ) ON UPDATE CASCADE ON DELETE CASCADE
) DEFAULT CHARACTER SET utf8;
INSERT INTO tb_student VALUES
( 'xs01', '钟', '男', '20', '大数据学院' ),
( 'xs02', '何', '男', '20', '大健康学院' ),
( 'xs03', '黄', '女', '19', '工程学院' ),
( 'xs04', '冯', '男', '21', '体育学院' ),
( 'xs20652114267', '刘', '男', '20', '学院' );
SELECT * FROM tb_student;
DROP TABLE IF EXISTS tb_techer;
CREATE TABLE tb_techer (
t_id VARCHAR ( 20 ) NOT NULL COMMENT '教师号',
t_name VARCHAR ( 20 ) NOT NULL COMMENT '姓名',
t_sex ENUM ( '男', '女' ) NOT NULL COMMENT '性别',
t_technical VARCHAR ( 20 ) NOT NULL COMMENT '职称',
S_dep_name VARCHAR ( 20 ) NOT NULL COMMENT '系名',
PRIMARY KEY ( t_id ),
CONSTRAINT FK_ID_2 FOREIGN KEY ( S_dep_name ) REFERENCES tb_department ( dep_name ) ON UPDATE CASCADE ON DELETE CASCADE
) DEFAULT CHARACTER SET utf8;
INSERT INTO tb_techer VALUES
( 'js01', '钟', '男', '高级教师', '大数据学院' ),
( 'js02', '何', '女', '一级教师', '大健康学院' ),
( 'js03', '黄', '男', '一级教师', '体育学院' ),
( 'js04', '何', '女', '二级教师', '工程学院' ),
( 'js20652114267', '刘', '男', '一级教师', '学院' );
SELECT * FROM tb_techer;
DROP TABLE IF EXISTS tb_tech;
CREATE TABLE tb_tech (
t_id VARCHAR ( 20 ) NOT NULL COMMENT '教师号',
cou_id VARCHAR ( 20 ) NOT NULL COMMENT '课程号',
PRIMARY KEY ( t_id, cou_id ),
CONSTRAINT FK_ID_3 FOREIGN KEY ( t_id ) REFERENCES tb_techer ( t_id ) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT FK_ID_4 FOREIGN KEY ( cou_id ) REFERENCES tb_course ( cou_id ) ON UPDATE CASCADE ON DELETE CASCADE
) DEFAULT CHARSET = utf8;
INSERT INTO tb_tech
VALUES
( 'js01', 'kc01' ),
( 'js02', 'kc02' ),
( 'js03', 'kc03' ),
( 'js04', 'kc04' ),
( 'js20652114267', 'kc20652114267' );
SELECT * FROM tb_tech;
DROP TABLE IF EXISTS tb_record;
CREATE TABLE tb_record (
s_id VARCHAR ( 20 ) NOT NULL COMMENT '学号',
cou_id VARCHAR ( 20 ) NOT NULL COMMENT '课程号',
grade FLOAT NOT NULL COMMENT '成绩',
PRIMARY KEY ( s_id, cou_id ),
CONSTRAINT FK_ID_5 FOREIGN KEY ( s_id ) REFERENCES tb_student ( S_id ) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT FK_ID_6 FOREIGN KEY ( cou_id ) REFERENCES tb_course ( cou_id ) ON UPDATE CASCADE ON DELETE CASCADE
) DEFAULT CHARSET = utf8;
INSERT INTO tb_record
VALUES
( 'xs01', 'kc01', '55' ),
( 'xs02', 'kc02', '88' ),
( 'xs03', 'kc03', '90' ),
( 'xs04', 'kc04', '91' ),
( 'xs20652114267', 'kc20652114267', '100' );
SELECT * FROM tb_record;
#11、 查看数据库中的所有表
SHOW TABLES;
#12、 查看表结构
DESC tb_course;
#13、 查看创建表的 SQL 语句
SHOW CREATE TABLE tb_course;
CREATE TABLE `tb_course` (
`cou_id` VARCHAR(20) NOT NULL COMMENT '课程号',
`cou_name` VARCHAR(20) NOT NULL COMMENT '课程名',
PRIMARY KEY (`cou_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
#14、 添加数据,每个表5条模拟数据,其中有一条是自己的数据,倒回去截图
#INSERT INTO 表名 VALUES(),(),(),(),();
#SELECT * FROM 表名
#15、 复制学生表,表名用自己姓名首字母 -- create table 新表 select * from 旧表
CREATE TABLE tb_lgp LIKE tb_student;
SELECT * FROM tb_lgp;
#16.将tb_student表的数据蠕虫复制到用自己姓名创建表中
INSERT INTO tb_lgp SELECT * FROM tb_student;
SELECT * FROM tb_lgp;
#复制表2的所有列到表1中 -- INSERT INTO 表名 1 SELECT * FROM 表名 2;
#17、 为复制的表添加一个电话字段s_telephone,数据类型为varchar(12)
ALTER TABLE tb_lgp ADD s_telephone VARCHAR(12);
SELECT * FROM tb_lgp;
DESC tb_lgp;
#18、 修改复制的表里面字段s_telephone,数据类型为int(20)
ALTER TABLE tb_lgp MODIFY s_telephone INT(20);
DESC tb_lgp;
#修改列名:ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
#删除列:ALTER TABLE 表名 DROP 列名;
DESC tb_lgp;
#19.修改复制的表字符集为gbk: ALTER TABLE 表名 CHARACTER SET 字符集;
ALTER TABLE tb_lgp CHARACTER SET gbk;
#20.修改复制表的表名为tb_原表名
RENAME TABLE tb_lgp TO tb_liuguoping;
SELECT * FROM tb_liuguoping;
#21、 删除列复制表里面字段s_telephone
ALTER TABLE tb_liuguoping DROP s_telephone;
#查看
DESC tb_liuguoping;
#22、 为复制的表添加一个老师的数据
INSERT INTO tb_liuguoping VALUES
( 'xs06', 'dsj', '男', '30', '大数据学院' );
SELECT * FROM tb_liuguoping;
#23、 修改复制表里面大数据的年龄为100
#UPDATE 表名 SET 字段名=值 WHERE 字段名=值;
#注:修改复制的表里面字段S_age,数据类型为int(3)
ALTER TABLE tb_liuguoping MODIFY S_age INT(20);
UPDATE tb_liuguoping SET S_age ='100' WHERE tb_liuguoping.S_id='xs06';
#24、 删除复制表里面老师的数据
DELETE FROM tb_liuguoping WHERE S_id='xs06';
SELECT * FROM tb_liuguoping;
#25、 使用 truncate 删除复制表中所有记录
TRUNCATE TABLE tb_liuguoping;
#26、 删除复制的表
DROP TABLE tb_liuguoping;
SHOW TABLES;
#27、 查询学生表(tb_student)表里面数据,要求只显示中文别名学号和姓名字段的数据
SELECT S_id AS 学号, S_name AS 姓名 FROM tb_student;
#28、 (DISTINCT清除重复值)查询学生表(tb_student)里面性别的种类
SELECT DISTINCT S_sex FROM tb_student;
#29、 查询选修表(tb_record)里面成绩整体上浮50分的结果
SELECT grade+50 FROM tb_record;
#30、 查询学生表(tb_student)自己的那条数据
SELECT * FROM tb_student WHERE S_id='xs20652114267';
#31、 查询学生表(tb_student)年龄大于等于18岁同学
SELECT * FROM tb_student WHERE S_age>18;
#32、 查询学生表(tb_student),年龄在18,19的同学
SELECT * FROM tb_student WHERE S_age=18 || S_age=19;
#33、 查询教师表(tb_techer)姓钟的老师信息
SELECT * FROM tb_techer WHERE t_name LIKE '%钟%';
#34、 用count()函数统计tb_student表中记录的条数
SELECT COUNT(0) FROM tb_student;
|
|