DML(insert、update、delete)
数据操纵语言(DML-Data Manipulation Language)
代表关键字:insert,update,delete
在dos窗口中操作中文数据时,可能会出现中文乱码现象:
可以调整数据库的配置文件:C:\Program Files (x86)\MySQL\MySQL Server 5.5\my.ini
在文件中的57行处将 utf-8 改为 gbk 即可。
1、insert 的使用
----常规语法格式----- insert into 表名(字段名1,字段名2....) values(值1,值2....); insert into dept(dname,deptno,loc) values('aaa',100,'a1a1'); insert into dept(dname,deptno,loc) values('技术部',200,'深圳'); ----省略字段名写法(不建议)---必须是表中的所有字段,顺序为表中的字段顺序----- insert into dept values(300,'销售部','上海'); ----一次增加多条记录----- insert into dept values(400,'销售部1','上海1'), (500,'销售部2','上海2'), (600,'销售部2','上海2'), (700,'销售部2','上海2');
注意:主键(dname)表示了记录的唯一性,不能重复
如何插入日期:
第一种方法,插入的日期格式和显示的日期格式一致 insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) values(9997, 'zhangsan', 'MANAGER', null, '1981-06-12', 3000, 500, 10);
第二种方法,采用 str_to_date insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(9996, 'zhangsan', 'MANAGER', null, str_to_date('1981-06-12','%Y-%m-%d'), 3000, 500, 10);
第三种方法,添加系统日期(now()) insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(9995, 'zhangsan', 'MANAGER', null, now(), 3000, 500, 10);
2、update 的使用:需要添加 where 条件
语法格式: update 表名 set 字段1=需要修改的值1, 字段2=需要修改的值2 where 条件;
将 job 为 manager 的员工的工资上涨 10% update emp set sal=sal+sal*0.1 where job='MANAGER';
3、delete 的使用:需要添加 where 条件
语法格式: delete from 表名 where ....
删除津贴为 500 的员工 delete from emp where comm = 500;
删除津贴为 null 的员工 delete from emp where comm is null;