增:
insert into table_name[(column[,column...])]values (value [,value...]);
使用添加语句注意的细节:
- 插入的数据应与字段的数据类型相同。比如,将‘abc'插入到id列就不行
- 数据的大小应在规定的范围内,例如:不能将一个长度为80的字符串插入到长度为40的列中。
- 在values中列出的数据位置必须与被加入的列位置相对应。
- 字符和日期类型应该包含在单引号中。
- 插入空值,不指定或指定为null
- 批量插入, insert into table values(),(),()
- 隐含列插入,给表中的所有字段添加数据,可以不写前面的字段名称
- 指定列插入,只给表的某几个字段赋值,则需要制定字段名
删:
delete from tbl_name [where condition]
delete和truncate两种删除整表的区别:
- 效果一样,truncate速度快
- delete返回被删除的记录数,而truncate返回0
- 清空表数据,建议使用truncate
delete使用细节:
- 配合where子句,可以灵活的删除满足条件的记录
- delete语句不能删除某一列的值(可以用update置null)
- 使用delete语句仅删除记录,不删除表本身(drop table)
改:
update tbl_name set col_name1=expr1, [, col_name2=expr2 ...] [where conditon] [limit n]
update使用细节:
- update 语法可以用新值更新原有表中的各列值
- set子句指示要修改哪些列和要给予哪些值
- where子句指定应更新哪些行。如果没有where子句,则更新所有行
- where子句后面指定limit,更新限制数量的符合条件的行
查:
select [distinct] *| {column1,column2,...} from tbl_name [where condition];
select 使用细节:
- distinct 如果结果中有完全相同的行,就去除重复行
- select语句中可以使用as起别名
- 在select语句中使用order by子句排序查询结果
- order by 指定排序的列,排序的列可以使表中的列名,也可以是select语句后指定的别名
- asc升序(默认),desc降序
- order by 子句应该位于select语句的结尾
-
limit分页:
- select 字段 from 表名 where 条件 limit 起始位置 ,记录条数
- select 字段 from 表名 where 条件 limit 记录条数 offset 起始位置