MySQL基本SQL语句之数据插入、删除数据和更新数据_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1764 | 回复: 1   主题: MySQL基本SQL语句之数据插入、删除数据和更新数据        下一篇 
gunrose
注册用户
等级:新兵
经验:36
发帖:79
精华:0
注册:2011-7-21
状态:离线
发送短消息息给gunrose 加好友    发送短消息息给gunrose 发消息
发表于: IP:您无权察看 2015-4-21 17:44:42 | [全部帖] [楼主帖] 楼主

一、INSERT插入数据: 
方法一:批量插入 

基本语法:

INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, val2, ...),...]


字符型:单引号

数值型:不需要引号

日期时间型:不需要引号

空值:NULL,不能写成 ''

如向tutors表插入两行数据:

mysql> INSERT INTO tutors(Tname,Gender,Age) VALUES('Sam','M',28),('Barlow','M',27);
Query OK, 2 rows affected (0.03 sec)
Records: 2 Duplicates: 0 Warnings: 0


方法二:一次插入一行

基本语法:

INSERT INTO tb_name SET col_name={expr | DEFAULT}, ...


如向tutors表插入一行数据:

mysql> INSERT INTO tutors SET Tname='Winne',Gender='F',Age=25;
Query OK, 1 row affected (0.04 sec)


北京联动北方科技有限公司

方法三:将查询结果插入到表 

基本语法:

INSERT [INTO] tbl_name [(col_name,...)] SELECT ...


如下将students表中Age大于20的插入到tutors表中:

mysql> SELECT Name,Gender,Age FROM students WHERE Age > 20;
+-------------+--------+------+
| Name | Gender | Age |
+-------------+--------+------+
| DingDian | M | 25 |
| HuFei | M | 31 |
| Xuzhu | M | 26 |
| LingHuchong | M | 22 |
+-------------+--------+------+
4 rows in set (0.19 sec)
mysql> INSERT INTO tutors(Tname,Gender,Age) SELECT Name,Gender,Age FROM students WHERE Age > 20;
Query OK, 4 rows affected (0.09 sec)
Records: 4 Duplicates: 0 Warnings: 0


北京联动北方科技有限公司

二、REPLACE插入数据 

使用INSERT插入数据时,如果违反约束,会导致插入失败。如students表要求Name字段不能相同,那使用INSERT插入已经存在的Name时,就会失败。使用REPLACE插入数据,可以在此种情况下,使用新数据替换原数据,而如果不违反约束关系,则与INSERT一样正常插入数据。

REPLACE基本语法与INSERT完全一样: 

方法一:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
[PARTITION (partition_name,...)]
[(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...


方法二:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
[PARTITION (partition_name,...)]
SET col_name={expr | DEFAULT}, ...


方法三:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
[PARTITION (partition_name,...)]
[(col_name,...)]
SELECT ...


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
yr
注册用户
等级:少校
经验:1085
发帖:5
精华:0
注册:2015-1-19
状态:离线
发送短消息息给yr 加好友    发送短消息息给yr 发消息
发表于: IP:您无权察看 2015-4-21 17:47:19 | [全部帖] [楼主帖] 2  楼

嗯嗯 继续努力一起学习



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论