MySql(3)------SQL基础之DML(Data Manipulation Language),不包含select语句
2016-08-18 09:22
1096 查看
DML(Data Manipulation Language)语句:
数据操作语句,用于处理增删改查数据库记录,常用关键字insert,delete,update,select等等。
主要是对数据库记录进行增,删,改,查的操作,开发的时候用得比较多,特别是查询语句,
以下对增删改做些简单的介绍,对于查询语句知识比较多,下篇单独分析。
准备工作:
先建一个t_user_main表,只是用于测试增删改。
1.插入记录
插入语法:
INSERT INTO tablename(field1,field2,......,fieldn) VALUES(value1,value2,......valuen);
当我们去掉tablename后的(field1,field2,......,fieldn),表示默认为表的所有列。
指定列名插入:
sql语句:
insert into t_user_main(f_userId,f_userName,f_age)values(1,'one',25);
不指定列名插入:
sql语句:
insert into t_user_main values(2,'two',26);
含有可空字段,非空含有默认值,自增涨字段可以不用出现在insert中,不写就按默认值处理。
比如,f_userId是自增长得,就可以不在insert中出现,交给数据库自增长存值。
一次性插入多条:
语法:
INSERT INTO tablename(field1,field2,......fieldn)
VALUES
(record1_value1,record1_value2,......record1_valuen),
.......
(recoredn_value1,reocordn_value2,......recordn_valuen);
这样插入性能高。
sql举例:
insert into t_user_main(f_userName,f_age) values('four',28),('five',29),('six',30),('seven',31);
插入后结果通过select可以查看是否成功。
2.删除记录
删除语法:
DELETE FROM tablename [WHERE CONDITION];
注意:不加条件限制,无论是单表还是多表,都会删除表的所有记录,
如果数据库配置事务是手动提交,还能回滚挽救,否则,会后悔,操作要小心。
先指定条件删除一条数据:
sql语句:delete from t_user_main where f_userId = 7;
对于删除表记录还有个语法:
TRUNCATE TABLE t_user_main;
这个比较狠,直接将表的记录全部清除,没有回滚的余地,除非你狠这个表,一般不要用。
删的时候很爽,死得确很惨。
3.更新记录
更新语法:
UPDATE tablename SET filed1 = value1,field2 = value2,......fieldn = valuen [WHERE CONDITION];
我们也可以进行多表更新,不指定条件更新,当不指定条件时也需要小心行事。
数据操作语句,用于处理增删改查数据库记录,常用关键字insert,delete,update,select等等。
主要是对数据库记录进行增,删,改,查的操作,开发的时候用得比较多,特别是查询语句,
以下对增删改做些简单的介绍,对于查询语句知识比较多,下篇单独分析。
准备工作:
先建一个t_user_main表,只是用于测试增删改。
create table t_user_main ( f_userId int(10) NOT NULL AUTO_INCREMENT COMMENT '用户id,作为主键', f_userName varchar(50) COMMENT '用户名', f_age int(3) COMMENT '年龄', PRIMARY KEY (f_userId) ) ;通过show create table tablename \G;查看详情与上面手动建表sql有些区别,数据库给加上了默认的引擎,字符集,默认空等等。
1.插入记录
插入语法:
INSERT INTO tablename(field1,field2,......,fieldn) VALUES(value1,value2,......valuen);
当我们去掉tablename后的(field1,field2,......,fieldn),表示默认为表的所有列。
指定列名插入:
sql语句:
insert into t_user_main(f_userId,f_userName,f_age)values(1,'one',25);
不指定列名插入:
sql语句:
insert into t_user_main values(2,'two',26);
含有可空字段,非空含有默认值,自增涨字段可以不用出现在insert中,不写就按默认值处理。
比如,f_userId是自增长得,就可以不在insert中出现,交给数据库自增长存值。
一次性插入多条:
语法:
INSERT INTO tablename(field1,field2,......fieldn)
VALUES
(record1_value1,record1_value2,......record1_valuen),
.......
(recoredn_value1,reocordn_value2,......recordn_valuen);
这样插入性能高。
sql举例:
insert into t_user_main(f_userName,f_age) values('four',28),('five',29),('six',30),('seven',31);
插入后结果通过select可以查看是否成功。
2.删除记录
删除语法:
DELETE FROM tablename [WHERE CONDITION];
注意:不加条件限制,无论是单表还是多表,都会删除表的所有记录,
如果数据库配置事务是手动提交,还能回滚挽救,否则,会后悔,操作要小心。
先指定条件删除一条数据:
sql语句:delete from t_user_main where f_userId = 7;
对于删除表记录还有个语法:
TRUNCATE TABLE t_user_main;
这个比较狠,直接将表的记录全部清除,没有回滚的余地,除非你狠这个表,一般不要用。
删的时候很爽,死得确很惨。
3.更新记录
更新语法:
UPDATE tablename SET filed1 = value1,field2 = value2,......fieldn = valuen [WHERE CONDITION];
我们也可以进行多表更新,不指定条件更新,当不指定条件时也需要小心行事。
相关文章推荐
- MySQL学习之聚合函数查询
- MySql判断是否为null或空字符串
- MySQL5.6 GTID新特性实践
- mysql的timestamp
- Mysql之主从同步
- mysql order by
- MySQL5.5.32编译安装
- Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别
- MySQL 体系结构和存储引擎
- MYSQL性能调优
- MySQL数据的主从复制、半同步复制和主主复制详解-转
- MySQL外键与外键关系说明(简单易懂)
- MySQL外键使用及说明详解
- MySQL删除外键问题小结
- Mysql 自定义随机字符串的实现方法
- mysql datetime 类型的字段进行时间比较
- 2.使用jodd 操作mysql数据库
- MySQL冷知识
- mysql 集合操作UNION DISTINCT和UNION ALL
- mysql(二)存储引擎和数据类型