MySQL_DML语言

#MySQL--DML语言
##SQL组成
DDL:数据库模式定义语言,关键字:create
DML:数据操纵语言,关键字:insert,delete,update
DCL:数据库控制语言,关键字:grant,remove
DQL:数据库查询语言,关键字:select
##insert语句
###插入单行记录
insert into student (stu_name) value ('Tong')
value
在student表中插入一行记录,这行记录的stu_name为“Tong”

#
insert into student (stu_name,stu_id,stu_phone) values ('Tong',15,110)
values
在student表中插入一行记录,这行记录stu_name为“Tong”,stu_id为15,stu_phone为110
###插入多行记录
insert into person(pName) select tName from teacher
将teacher表中的tName列插入到person表中的pName列中
#
insert into person(pName,p_phone) values
('Marry',110),
('Tony',111),
('David',112)
在person表中插入3行记录,分别为('Marry',110)、 ('Tony',111)、 ('David',112)
##update语句
update student set stu_name='Charlie' where id=15
将student表中id为15的行的stu_name列更新为“Charlie”
#
update student set stu_name='Charlie',stu_phone=119 where id=15
将student表中id为15的行的stu_name列更新为“Charlie”,stu_phone列更新为119
##delete语句和truncate语句
###delete
不添加where条件的情况下,会删除所有数据
#
delete from student where id=15
将student表中id为15的记录删除
###truncate
直接删除表中所有数据
#
truncate table student
删除student表中所有数据
###delete和truncate的区别
delete会记录日志,意味着删除后的数据还可以恢复,但是效率低;
truncate不会记录日志,删除后的数据不能恢复,但是效率高;
truncate不能用于有外键约束引用的表;
##select语句
select * from student
查询student表中所有数据
#
select stu_name,stu_grade from student where stu_grade>90 order by stu_grade
显示student表中分数大于90的学生名字和成绩,并且升序排列
如果要显示成降序,最后写成 order by stu_grade desc
#
select concat(stu_name,'----',stu_grade) from student
添加显示格式CONCACT
##between语句
select * from student where stu_age between 18 and 20
显示student表中年龄在18到20岁之间的记录
##模糊查询,like
通配符:
“_” 表示单个字符
“%” 表示包含零个或多个任意字符
#
select * from student where ename like '童%'
显示出student表中所有姓童的学生
##group by语句
select count* from student group by stu_gender
统计student表中男生人数和女生人数

上一篇:GreenPlum学习笔记:split_part与string_to_array字符截取


下一篇:U3D面试五