对数据进行增删改查: 这里着重掌握查询的各种条件
1)插入数据(增加数据):将元组插入到指定的表中。
//插入单条记录
insert into 表名(字段名1,字段名2,....)values (值a1,值a2, .....);
//插入多条数据
insert into 表名(字段名1,字段名2,....)values (值a1,值a2, .....), (值b1,值b2, .....),..... ;
//插入子查询的结果,注意这里是没有values的
insert into 表名1(字段名1,字段名2,....)
select 字段名1,字段名2,.... from 表名2;
//插入固定的某些数据
insert into 表名 set 字段名1=值1,字段名2=值2, ..... ;
//字段可以不用取全部的字段,部分字段也可以哦
insert into 表名(字段名1,字段名2,....)values (值a1,值a2, .....);
备注:如果是插入字段是全部子段的话,可以省略字段部分
insert into 表名 values(); ..........
例如:
1)删除数据:
delete from 表名 [where条件] [order排序] [limit限定];
备注:
3,order排序子句和limit限定子句,应用中通常不需要。
3.1 order排序子句用于设定删除数据的先后顺序。
3.2 limit限定子句用于限定在设定的顺序情况下删除指定的某些行。
扩展:(了解,不需要掌握也可以)
类似删除语句truncate:
truncate [table] 表名;用于直接删除整个表(结构)并重新创建该表。
1,删除整个表(数据和结构都没有了)
2,重新创建该表(全新表)。
3,跟delete 语句不带where条件,有什么区别?
主要影响的是类似:auto_increment这种类型的字段值:
truncate结果会重新计算,delete还能继续增长。
例题:
1)修改数据:
update 表名 set 字段名1=值表达式1,字段名2=值表达式2,....[where条件] [order排序] [limit限定];
备注:
1, where条件子句,在应用中,同样几乎都必须有,否则很可能就失去意义,类似delete
2,order排序子句通常不需要,用于将要更新的数据指定更新的顺序。
3,limit限定子句通常不需要,用于将要更新的数据的指定顺序去更新部分(局部)数据,比如:前500行。
扩展:复制表
复制表方法1:
create table tab2 like tab1; //复制结构了
insert into tab2 select * from tab1; //复制数据,这种方法可以比较完整。
复制表方法2:
create table tab2 select * from tab1; //同时复制结构和数据,这种方法可能会丢一些结构信息,比如:索引,约束,自增长属性
例题:
1)查询数据:
select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];
注意:这里对表或者字段可以起别名,
语法: AS 别名 或者 空格 + 别名
[all | distinct]
用于设定所select出来的数据是否允许出现重复行(完全相同的数据行)
all:允许出现——默认不写就是All(允许的)。
distinct:不允许出现——就是所谓的“消除重复行”。
from子句
就是指定数据的来源,其实就是“表”,可以是一个表名,也可以是多个表——多表查询了。
where子句
一个概念:where子句,相当于php或js中的if条件语句:其最终结果就是布尔值(true/false)
1)where中可用的运算符:
算术运算符: + - * / %
比较运算符: > >= < <= =(等于) <>(不等于)
==(等于,mysql扩展),!=(不等于,mysql扩展)
逻辑运算符: and(与) or(或) not(非)
2)空值的判断方式:
判断为null: XX is null
判断为非空: XX is not null
3)between语法:
XX between 值1 and 值2;
含义:字段XX的值在值1和值2之间(含),相当于:XX >=值1 and XX<=值2;
4)in语法:
XX in (值1,值2,.......);
含义:XX等于其中所列出的任何一个值都算成立,相当于:
XX = 值1 or XX = 值2 or XX = 值2
注意:其中的值1通常是“直接值”,但也可以是后面要学习的“查询结果值”
5)like语法(模糊查找):
语法形式: XX like ‘要查找字符’;
说明:
1,like语法(模糊查找)用于对字符类型的字段进行字符匹配查找
2,要查找的字符中,有2个特殊含义的字符:
2.1: % 其含义是:代表任意个数的任意字符
2.2: _ 其含义是:代表1个的任意字符
2.3:这里的字符,都是指现实中可见的一个“符号”,而不是字节。
3,实际应用中的模糊查找,通常都是这样:like ‘%关键字%’;
5)布尔值的判断方式:
未完~~可以看下一篇“操作DB ~~对数据的增删改查!!sql语句 (二)”