DDL(创建,移除数据库对象例表),DML(添删改数据)
注意:emp文件为Navicat里mysql系统库里的文件,若是要自己创建新的表,则建议创建新的库进行操作。
mydb为我自己创建的新数据库。
添加
--添加一条学生数据
insert into student(code,name,sex,phone,enter_time) values(1111,'张三','男','19887678767',now());
--如果给学生表中每列均赋值则可以不用写字段列表,只写值列表
insert into student values(1111,'张三','男','19887678767',now());
创建范例表
-- 删除数据表
DROP TABLE IF EXISTS emp ;
DROP TABLE IF EXISTS dept;
DROP TABLE IF EXISTS bonus;
DROP TABLE IF EXISTS salgrade;
-- 创建数据表
-- 员工表
CREATE TABLE dept (
deptno INT PRIMARY KEY, -- 部门编号
dname VARCHAR(14) , -- 部门名称
loc VARCHAR(13) -- 部门地址
) ;
-- 员工表
CREATE TABLE emp (
empno INT PRIMARY KEY, -- 员工编号
ename VARCHAR(10), -- 员工姓名
job VARCHAR(9), -- 员工职务
mgr INT, -- 经理的员工编号
hiredate DATE, -- 入职日期
sal DOUBLE, -- 员工收入
comm DOUBLE, -- 奖金
deptno INT -- 部门表外键,代表当前员工属于哪个部门
);
alter table emp add foreign key (deptno) references dept (deptno);
-- 奖金表
CREATE TABLE bonus (
ename VARCHAR(10) , -- 员工姓名
job VARCHAR(9) , -- 员工职务
sal DOUBLE, -- 员工收入
comm DOUBLE -- 员工奖金
) ;
-- 工资等级
CREATE TABLE salgrade (
grade INT, -- 工资等级
losal DOUBLE, -- 当前等级最低收入
hisal DOUBLE -- 当前等级最高收入
);
-- 插入测试数据 —— dept
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
-- 插入测试数据 —— emp
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,str_to_date('17-12-1980','%d-%m-%Y'),800,NULL,20);
INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,str_to_date('20-2-1981','%d-%m-%Y'),1600,300,30);
INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,str_to_date('22-2-1981','%d-%m-%Y'),1250,500,30);
INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,str_to_date('2-4-1981','%d-%m-%Y'),2975,NULL,20);
INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,str_to_date('28-9-1981','%d-%m-%Y'),1250,1400,30);
INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,str_to_date('1-5-1981','%d-%m-%Y'),2850,NULL,30);
INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,str_to_date('9-6-1981','%d-%m-%Y'),2450,NULL,10);
INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,str_to_date('19-04-1987','%d-%m-%Y'),3000,NULL,20);
INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,str_to_date('17-11-1981','%d-%m-%Y'),5000,NULL,10);
INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,str_to_date('8-9-1981','%d-%m-%Y'),1500,0,30);
INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,str_to_date('23-05-1987','%d-%m-%Y'),1100,NULL,20);
INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,str_to_date('3-12-1981','%d-%m-%Y'),950,NULL,30);
INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,str_to_date('3-12-1981','%d-%m-%Y'),3000,NULL,20);
INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,str_to_date('23-1-1982','%d-%m-%Y'),1300,NULL,10);
-- 插入测试数据 —— salgrade
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);
-- 事务提交
COMMIT;
-- 查询数据
SELECT * FROM emp;
SELECT * FROM dept;
SELECT * FROM bonus;
SELECT * FROM salgrade;
删除
-- 删除所有数据
delete from student;
-- 根据条件删除
delete from student where code = 1114;
delete from student where name = '李四';
修改
-- 给所有员工工资涨10%
update emp set sal=sal*1.1;
-- 修改特定学生的信息
update student set name='张三',sex='女' where code=1112;