一、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

最新文章

  1. [NOIP2014]寻找道路 题解
  2. TOMCAT的安装部署配置(配图解)
  3. iOS 获得指定文件夹下的指定格式文件
  4. UAP如何根据DeviceFamily显示不同的页面
  5. Java基础知识强化之网络编程笔记20:Android网络通信之 Android常用OAuth登录和分享
  6. 扩展编写jquery插件的方法
  7. Tomcat7.0.22在Windows下详细配置过程
  8. 转:STL容器里存放对象还是指针
  9. Linux的vi常用命令详解
  10. mysql 各数据类型的 大小及长度
  11. JGUI源码:DataTable固定列样式(20)
  12. CCF CSP 201503-1 图像旋转 (降维)
  13. mysql案例~关于linux服务器本身的优化问题
  14. Node.js的进程管理
  15. [原创]H5前端性能测试工具介绍
  16. loj#2020. 「AHOI / HNOI2017」礼物
  17. android:screenOrientation属性
  18. Linux 软件 安装到 /usr,/usr/local/ 还是 /opt 目录
  19. docker制作镜像步骤
  20. Python爬虫基础(二)urllib2库的get与post方法

热门文章

  1. WebService与RESTful WebService
  2. for循环实例2
  3. nodejs 解决跨域
  4. Java继承与多态浅析
  5. Mac打开swf文件
  6. js 监听浏览器刷新还是关闭事件 - 转
  7. C# 监测每个方法的执行次数和占用时间(测试1)
  8. C# DataTable to Html
  9. 学JS的心路历程 -数组常见处理方法
  10. pl2303 驱动