对记录的操作

增删改查

1、插入记录

方法一:
insert [into] tbl_name[(col_name)] {values|value} ({expr|default},...) ,(...)
例如:insert users values (null,'tom','456');
为自动编号的字段赋值,可以写null或者default

方法二:
insert [into] tbl_name set col_name={expr|default},...
例如:insert users set username='tom',password='456'
说明:与第一种方式的区别在于,此方法可以使用子查询(SubQuery)
这种方法一次只能插入一条记录,而方法一,一次性可以插入多条记录

方法三:
insert [into] tbl_name [(col_name,..)] select ...
说明:此方法可以将查询结果插入到指定数据表

2、更新记录

方法一:单表更新
update [low_priority] [ignore] table_reference set col_name1={expr1|default} [,col_name2={expr1|default}] ... [where where_condition]
说明:省略条件,将更新所有的记录

3、删除记录

方法一:单表删除
delete from tbl_name [where where_condition]

4、查询记录
select select_expr [,select_expr...]
[
  from table_references   
  [where where_condition]
  [group by {col_name|position} [ASC|DESC],...]
  [having where_condition]
  [order by {col_name|expr|position} [ASC|DESC],...]
  [limit {[offset,] row_count|row_count offset offset}]
]
如何书写查询表达式:
  • 每一个表达式表示想要的一列,必须有至少一个
    select username,id from users
  • 多个列之间以英文逗号分隔
  • 星号( * )表示所有列。tbl_name .*可以表示命名表的所有列
  • 查询表达式可以使用[as] alias_name为其赋予别名
    select id as userId,username as uname from users
  • 别名可用于group by,order by 或者having子句
条件表达式

对记录进行过滤,如果没有指定where子句,则显示所有的记录
在where表达式中,可以使用mysql支持的函数或运算符

查询结果分组

[group by {col_name|position} [ASC|DESC],...]
既可以指定列名,也可以指定列的位置
ASC:升序(默认)
DESC:降序

分组条件

[having where_condition]
注意:条件必须为聚合函数,或者这个字段要出现在查询语句里
例如:select sex,age from users group by sex having age>35;
select sex,age from users group by sex having count(id)>2;

对查询结果进行排序

[order by {col _name} | expr | position} [ASC|DESC],...]

限制查询结果返回的数量

[limit {[offset,] row_count | row_count offset }]
例如:
select * from users limit 2; 查询表里的前两条记录
select * from users limit 3,2;
从第四条记录开始,查找两条记录。因为mysql数据表里的记录是从0开始计算的
注意:id号和结果集的顺序没有任何关系

你可能感兴趣的:(对记录的操作)