DML 语句
DML语句包括:INSERT, UPDATE,DELETE
INSERT 语句
语法:
INSERT tbl_name [(col1,...)] VALUES (val1,...), (val2,...)
全值插入:
insert stu values(null,"haha",6,default,3,1);
部分列插入:
insert stu(name,age,classid) values("hehe",5,2);
UPDATE 语句
语法:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
修改表的某一行:
UPDATE stu SET name='bendan' where id=27;
#注意:一定要有限制条件,否则将修改表中所有行的指定字段
可利用mysql 选项避免此错误:
[mysql]
safe-updates
修改完配置文件后重启服务,需要重新登录MYSQL生效。
mysql> show variables like "sql_safe%";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| sql_safe_updates | ON |
+------------------+-------+
这时候再使用UPDATE语句时不加WHERE条件会显示如下报错:
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.
DELETE 语句
删除表中数据,但不会自动缩减数据文件的大小
语法:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
#可先排序再指定删除的行数
如果想清空表,保留表结构,也可以使用下面语句,此语句会自动缩减数据文件的大小:
TRUNCATE TABLE tbl_name;
缩减表大小:
OPTIMIZE TABLE tb_name;