Java登陆第二天——SQL之DML
SQL语句
SQL概括起来可以分为以下四组。(都是SQL,因为功能的不同,为了更好学习划分了类别)
DDL——数据定义语言。用于定义数据的结构。 指的是增,删,改数据库
DML——数据操作语言。用于检索或修改数据。 指的是增,删,改数据
DQL——数据查询语言。用于查询各种形式的数据。 指的是查询数据
DCL——数据控制语言。用于定义数据库用户的权限。 指的是管理数据库权限
SQL大小写不敏感!!
SQL大小写不敏感!!
SQL大小写不敏感!!
全凭个人习惯
DML
专门用来操作数据的SQL。
增
--增加数据。
--数据值和字段必须一一对应。
insert into 表名 (字段名1,...) values(值1,...);
--如果表中每个字段都增加数据可以省略字段。
insert into 表名 values(值1,...);
--查询某个表中所有字段,查询语句在DQL中详解
select * from 表名;
栗子:在UserTest库中存在一数据表Pon,其格式如下:
要求插入两条数据:
张三,18;
李四;
最后查询所有字段
SQL语句:
use UserTest;
show tables;
insert into pon (p_name,p_age) values("张三",18);
insert into pon (p_name) values("李四");
select * from pon;
程序运行结果:
查询证明一下有这张表。
删
--删除数据。
--逻辑语句就是:字段名+逻辑运算符和某值,构成一个布尔表达式。
delete from 表名 where 逻辑语句;
--查询某个表中所有字段,查询语句在DQL中详解
select * from 表名;
--清空某表,清空表的一切数据 自增会归零 可以理解是先删除表然后创建一张一样的表
TRUNCATE 表名;
常用的逻辑运算符
逻辑运算符 | 举例逻辑语句 | 运算符描述 |
---|---|---|
= | age = 10 | 相等(类似与Java中==) |
> | age > 10 | 大于,字符串比较根据ASCII码 |
< | age = 10 | 小于 |
<> | age <>10 | 不相等(类似与Java中!=) |
IS NULL | age IS NULL | 为null |
IS NOT NULL | age IS NOT NULL | 不为null |
LIKE | name LIKE '赵%' | 相似 |
NOT | age NOT 1 | 非 |
AND | X1 AND X2 | 和 (X1,X2为另一个逻辑语句) |
OR | X1 OR X2 | 或 (X1,X2为另一个逻辑语句) |
BETWEEN | age BETWEEN 1 AND 3 | 在...之间 |
LIKE举例:%表示任意的字符, _代表一个字符:
age LIKE '1%'可能会得到10,111,110;
name LIKE 'ab_'可能会得到abc,abb,abd。
AND举例:age >3 and age <1。
OR举例: age >3 or age<1。
栗子:查询pon表的所有字段
删除p_age为空的字段。
最后再查询pon表的所有字段。
SQL语句:
select * from pon;
delete from pon where p_age is null;
select * from pon;
程序运行结果:
改
--改变数据。
--逻辑语句就是:字段名+逻辑运算符和某值,构成一个布尔表达式。
--
update 表名 set 修改的字段和值1,... [WHERE 逻辑语句];
--不写where 逻辑语句会直接修改。
--查询某个表中所有字段,查询语句在DQL中详解
select * from 表名;
栗子:查询pon表的所有字段
修改p_age等于18的字段,其p_name修改为李四。
最后再查询pon表的所有字段。
SQL语句:
select * from pon;
update pon set p_name='李四' where p_age=18;
select * from pon;
程序运行结果: