数据库作业完成
数据库操作sql练习
数据库中表操作的sql练习
一、创建表
1、创建一张员工表employee
字段 类型
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 文本
2、创建一张员工表employee2
字段 类型
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 文本
要求:把id 设置成主键,并且自动增长。name不允许为空。
二、删除表
1、删除employee2表
表记录的操作
一、插入语句 —insert
1、向employee中插入三个员工信息,要求员工姓名分别是zs,ls,wangwu
二、更新语句 —update
1、将所有员工薪水修改为5000元。
2、将姓名为’zs’的员工薪水修改为3000元。
3、将姓名为’ls’的员工薪水修改为4000元,job改为ccc。
4、将wangwu的薪水在原有基础上增加1000元。
三、删除语句 —delete
1、删除表中名称为’zs’的记录。
2、删除表中所有记录。
四、查询语句 —select
create table exam(
id int primary key auto_increment,
name varchar(20) not null,
chinese double,
math double,
english double
);
insert into exam values(null,‘关羽’,85,76,70);
insert into exam values(null,‘张飞’,70,75,70);
insert into exam values(null,‘赵云’,90,65,95);
insert into exam values(null,‘刘备’,97,50,50);
insert into exam values(null,‘曹操’,90,89,80);
insert into exam values(null,‘司马懿’,90,67,65);
练习:
1、查询表中所有学生的信息。
2、查询表中所有学生的姓名和对应的英语成绩。
? 3、过滤表中重复数据。
? 4、在所有学生分数上加10分特长分。
5、统计每个学生的总分。
6、使用别名表示学生分数。
-----使用where子句
7、查询姓名为刘备的学生成绩
8、查询英语成绩大于90分的同学
9、查询总分大于200分的所有同学
答案:
CREATE TABLE employee( id INT, NAME VARCHAR(20), gender VARCHAR(20), birthday DATE, Entry_date DATE, job VARCHAR(20), Salary FLOAT, RESUME TEXT );
CREATE TABLE employee2( id INT, NAME VARCHAR(20), gender VARCHAR(20), birthday DATE, Entry_date DATE, job VARCHAR(20), Salary FLOAT, RESUME TEXT );
DROP TABLE employee2;
INSERT INTO employee(NAME) VALUES (‘zs’);
INSERT INTO employee(NAME) VALUES (‘ls’);
INSERT INTO employee(NAME) VALUES (‘wangwu’);
UPDATE employee SET Salary=5000.0;
UPDATE employee SET Salary=3000.0 WHERE NAME=“zs”;
UPDATE employee SET Salary=4000.0,job=“ccc” WHERE NAME=“ls”;
UPDATE employee SET Salary=Salary+1000.0 WHERE NAME=“wangwu”;
DELETE FROM employee WHERE NAME=“zs”;
DELETE FROM employee;
CREATE TABLE exam(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
chinese DOUBLE,
math DOUBLE,
english DOUBLE
);
INSERT INTO exam VALUES(NULL,‘关羽’,85,76,70);
INSERT INTO exam VALUES(NULL,‘张飞’,70,75,70);
INSERT INTO exam VALUES(NULL,‘赵云’,90,65,95);
INSERT INTO exam VALUES(NULL,‘刘备’,97,50,50);
INSERT INTO exam VALUES(NULL,‘曹操’,90,89,80);
INSERT INTO exam VALUES(NULL,‘司马懿’,90,67,65);
SELECT * FROM exam;
SELECT NAME,english FROM exam ;
SELECT DISTINCT * FROM exam;
UPDATE exam SET chinese=chinese+10,math=math+10,english=english+10;
数据库公司内部连接
CREATE TABLE depart(
depno INT PRIMARY KEY,
NAME VARCHAR(50),
location VARCHAR(50),
setuptime TIMESTAMP
);
CREATE TABLE emp(
empno INT PRIMARY KEY,
ename VARCHAR(50),
job VARCHAR(50),
mgr INT,
hiredate DATE,
sal DECIMAL(7,2),
comm DECIMAL(7,2),
depno INT,
CONSTRAINT fk_emp_depart FOREIGN KEY(depno) REFERENCES depart(depno)
);
SELECT * FROM emp WHERE sal>(SELECT sal FROM emp WHERE ename=“林同学”);
SELECT * FROM emp WHERE job=(SELECT job FROM emp WHERE ename=“小天”);
数据库的内连接、左连接、右连接的讲解
The end !
The watching !