MySQL基本SQL语句之数据插入、删除数据和更新数据
一、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 ...
三、DELETE删除数据:
基本语法:
DELETE FROM tb_name WHERE condition;
WHERE子句用法同SELECT中的WHERE
如下删除tutors表中Age小于30的行:
mysql> DELETE FROM tutors WHERE Age < 30;
Query OK, 6 rows affected (0.07 sec)
需要注意的是,删除数据后,AUTOINCREMENT计数器中对应数据并不会删除。
如果需要清空一张表,并重置AUTOINCREMENT计数器,可以使用如下命令:
TRUNCATE tb_name
四、UPDATE更新数据
基本语法:
UPDATE tb_name SET col1=..., col2=... WHERE
如下将students表中xuzhu的Age改为20:
mysql> UPDATE students SET Age=20 WHERE Name='Xuzhu';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MySQL基本SQL语句之数据插入、删除数据和更新数据的更多相关文章
- Mysql常用sql语句(22)- insert 插入数据
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数 ...
- Mysql常用sql语句(24)- delete 删除数据
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 delete 也属于DML语句(数据操纵语句) ...
- sql语句 怎么从一张表中查询数据插入到另一张表中?
sql语句 怎么从一张表中查询数据插入到另一张表中? ----原文地址:http://www.phpfans.net/ask/MTc0MTQ4Mw.html 比如我有两张表 table1 字段 un ...
- Mysql常用sql语句(23)- update 修改数据
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 update 也是DML语句哦(数据操作语言) ...
- Mysql常用sql语句(4)- distinct 去重数据
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 我们使用select进行数据查询时是会返回所有匹 ...
- mysql进阶(十九)SQL语句如何精准查找某一时间段的数据
SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm ...
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL数据库SQL语句基本操作
一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...
- MySQL与SQL语句的操作
MySQL与SQL语句的操作 Mysql比较轻量化,企业用的是Oracle,基本的是熟悉对数据库,数据表,字段,记录的更新与修改 1. mysql基本信息 特殊数据库:information_sche ...
随机推荐
- elasticsearch相关
- 机器学习进阶-案例实战-停车场车位识别-keras预测是否停车站有车
import numpy import os from keras import applications from keras.preprocessing.image import ImageDat ...
- git 和 github 学习总结
https://mp.weixin.qq.com/s?src=11×tamp=1543302553&ver=1269&signature=NAX65qusuVVDEl ...
- 为什么java实体类需要重写toString方法
如果没重写toString的情况: Object 类的 toString 方法 返回一个字符串,该字符串由类名(对象是该类的一个实例).at 标记符“@”和此对象哈希码的无符号十六进制表示组成.换句话 ...
- 一次UNITY闪退问题的定位心得
最近项目测试发现,运行unity后不退出运行模式,玩了一局后点击 “再来一局”,反复十几局后unity崩掉. 经观察,发现在这十几局的过程中,unity占用内存不断上升,由3.2G左右上升到3.6G左 ...
- python使用xlrd 操作Excel读写
此文章非本人 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 i ...
- jQuery链式语法演示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Git设置/取消代理
设置代理 git config --global http.proxy http://proxy.com:1234 git config --global https.proxy http://pro ...
- 创建DLL动态链接库——声明导出法
DLL声明导出法:是通过使用__declspec(dllexport),添加到需要导出的函数前,进行声明. 头文件定义如下(OPdll.h): 源文件定义如下(OPdll.cpp): 通过以上两个文件 ...
- endl
endl英语意思是end of line,即一行输出结束,然后输出下一行. endl与cout搭配使用,意思是输出结束.