操作表中数据/数据查询入门
一:SQL命令中的表达式和逻辑运算符:
1:表达式:
1)<表名><字段名表达式>
2)select<目标表达式>
3)where<条件表达式>
2:比较运算符:
>、>=、<、<=、=、!=或<>、is null、is not null、in、not in、like(模糊查询)、between and
3:逻辑运算符:
1)and:连接条件 当两个条件为真时才返回1
2) or:连接条件 只要其中一个为真就返回1
3) not:否定条件
关系:出现多个逻辑运算符时,运算时先求not的值,再求and的值,最后求or的值
4:插入数据
1):一次添加一行数据
insert into 表名 (字段名1,字段名2……)values(values1,values2……);
注:关键字into可以省略
省略insert语句中所有的列名,添加数据,字段必须按照顺序指定值
在默认约束的列添加数据时可以不指定值来添加默认值
添加纪录但不知顶所有字段值,不指定字段时,该字段必须允许为空
自动增长列不建议指定值
主键列、唯一约束列的值不能重复
5:修改数据
update 表名 set 字段=“values” where 表达式
修改全部数据:in
update 表名 set 字段=“values” where 字段名 in=” values”;
根据条件修改数据:where
6:删除数据记录
delete:操作是要记录在日志文件中,如果数据表的数据量比较大,删除的速度会受到影响,删除后表所占的空间并未收回。
truncate:删除表中所有数据,只留下一个表的结构定义
删除所有信息:
delete from 表名
根据where条件删除数据:
delete from 表名 where 字段名=“ ”;
二:数据查询:
定义:对数据表中现有的数据进行逐行筛选的工作。
记录集:把所有被筛选的行组织在一起,形成一个类似于表的结构。
1)简单查询:
select 字段名 from 表名/select * from 表名(全表查询)
select 字段名1,字段2…… from 表名(选择列查询)
2)查询中的别名:
1}使用AS关键字为字段定义别名
select 字段名1 AS 别名……from 表名
2}使用空格为字段定义别名
select 字段名1 别名……from 表名
3)条件查询:
1}单条件查询
2}多条件查询:not and or
not(gid=1)==gid!=1==not in(1)
4)使用Distinct消除重复行
select distinct 字段名 from 表名
5)使用limit限定查询返回行
limit[位置偏移量]行数
select 字段名 from 表名 limit10,5;从第十一行开始五条记录
6)处理null值
is null /is not null
7)使用order by 进行查询排序
单列排序:ASC:升序 DESC:降序
多列排序:用逗号隔开
三:MySQL的内置函数
字符串函数
获取当前日期、时间函数:
返回当前系统时间 :select now()
返回当前系统时间的日期部分:select curdate()===年月日 时间
返回当前系统时间的time部分:select curtime()===年月日
获取日期、时间指定部分的函数:
返回当前系统时间的月份:select month(now());===7
姓名:select monthname(curdate());===July
返回日期对应的工作日的英文名称:select dayname(curdate());===friday
返回日期对应的一周中的索引。1:表示周日2:表示周一
select dayofweek(curdate());===6
返回日期对应的工作日索引。0:表示周一,1:表示周二
select weekday(curdate());===4
计算日期是一年中的几周:
select week(curdate());===29
计算日期是一年中的几天:
select dayofyear(curdate());===204
计算日期是一月中的几天:
select dayofmonth(curdate());===204