DML和DDL的不同
DML:数据操纵语言(insert、update、delete)针对表中的数据
DDL:而数据定义语言(create、alter、drop)针对数据库对象,比如数据库database、表table、索引index、视图view、存储过程procedure、触发器trigger
DML:数据操纵语言
-- 查询表的数据
SELECT * from student;
-- DML 数据操作语言(Data Manipulation Language,DML)
-- INSERT
insert into student values(1,'张三','男',23,'1999-12-23','java001','123@qq.com');
insert into student values(1,'张三','男',23,'1999-12-23','java001','123@qq.com');
insert into student values(2,"李兰","女",21,"2000-08-05","java002","234@qq.com");
insert into student (sno,`name`,sex,age,clazzname)VALUES (3,"李四","男",22,"java003");
-- UPDATE
update student set sex="女" where sno =3;
update student set sex ='男',age=10 where sno =2;
-- DELETE
delete from student where clazzname="java002";
DELETE FROM student WHERE email is null;//删除为空的行,要写is null 而不是=null
注意事项
- char varchar 是字符的个数,不是字节的个数,可以使用binary,varbinary表示定长和不定长的字节个数。
- int 宽度是显示宽度,如果超过,可以自动增大宽度 int底层都是4个字节
- 如何写入当前的时间 now() sysdate() CURRENT_DATE()
- 时间的方式多样 '1256-12-23' "1256/12/23" "1256.12.23"
- 字符串不区分单引号和双引号
- delete语句中from不可少
DDL:数据定义语言
-- 查询数据
select * from student;
-- 查询结构
desc student;
-- -- DDL语言 修改表table、视图view、索引index、数据库database、触发器的结构
creat alter drop
-- 修改表的结构
-- 增加一列
alter table student add score double(5,2);
alter table student add score double(5,2) first;
alter table student add score double(5,2) after clazzname;-- 总数为5 ,保留两位小数
update student set score = 60.567;
-- 修改一列
alter table student modify score float(4,1);-- modify只修改数据类型
alter table student change score score1 double(5,2);-- change 既修改可列名又修改数据类型
-- 删除一列
alter table student drop score1;
-- 删除表
drop table student;