mysql插入、更新与删除
数据库增删改查都是要熟练掌握的。
这部分就来看看前面3个比较简单的部分,增,删,改。
插入数据
为表的所有字段插入数据
insert into table_name (column_list) values (value_list);
注意:
要指定插入表的表名;
column_list指定的是要插入数据的那些列;
value_list指定了对应插入的数据;
字段列和数据值的数量必须要相同;
要么全部指定字段名,要么全不指定;
插入的列名顺序可以和创建表时的顺序不一样,只要插入数据的值和列字段对应即可;
如果列名为空,则要为表的每一个字段指定值,并且顺序要和字段定义时的相同。
为表的指定字段插入数据
只向部分字段插入数据,而其他的字段就使用默认的值
要保证插入数据与字段的数据类型匹配
同时插入多条数据
insert into table_name (column_list)
values
(value_list1),
(value_lsit2),
...,
(value_lsitn);
多行记录的insert语句效率更高
将查询结果插入到表中
insert还可以将select语句查询的结果插入到表中
示例:
insert into table_name1 (column_lsit1)
select (column_list2) from table_name2 where (condition);
column1的字段个数以及字段对应的数据类型都要相同才能插入。
mysql插入时其实对列名不关心,只关心列的位置。
mysql> create table p1
-> (n1 char(5) not null);
Query OK, 0 rows affected (0.08 sec)
mysql> insert into p1
-> values
-> ('abc')
-> ,
-> ('efg');
Query OK, 2 rows affected (0.04 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> create table p2
-> (n2 varchar(5) not null);
Query OK, 0 rows affected (0.04 sec)
mysql> insert into p2
-> values
-> ('xxx'),
-> ('yyy'),
-> ('zzz');
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> insert into p1 (n1) select (n2) from p2;
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from p1;
+-----+
| n1 |
+-----+
| abc |
| efg |
| xxx |
| yyy |
| zzz |
+-----+
5 rows in set (0.00 sec)
这尼玛,一个char(5),一个varchar(5),还不是照样将select查询的结果插进去了。
更新数据
update table_name
set column_name1 = value1, column_name2 = value2, ..., column_namen = valuen
where(condition);
要保证update以where子句结束,否则,mysql中将更新所有的行哦。
删除数据
delete from table_name [where <condition>];
还是那句话最好有where 否则,所有的记录都会被删除,好可怕哟。
提示在执行delete之前还是先花点时间select一下,删除的是哪些数据。
如果想删除表中所有的数据,还可以使用truncate table语句
truncate table将直接删除原来的表并重新创建一个新的表,速度要比delete快。
truncate table table_name;
mysql插入、更新与删除的更多相关文章
- mySQL 插入,更新和删除数据
插入数据: 语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如 ...
- mysql 插入/更新数据
mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...
- mysql插入数据与删除重复记录的几个例子(收藏)
mysql插入数据与删除重复记录的几个例子 12-26shell脚本实现mysql数据的批量插入 12-26mysql循环语句插入数据的例子 12-26mysql批量插入数据(insert into ...
- SQL.Cookbook 读书笔记4 插入更新和删除
第四章 插入更新和删除 4.1 插入数据 ,'PROGRA','NEW YOURK'); 4.2 从一个表向另一个表中复制 insert into dept_east(deptno,dname,loc ...
- mysql中更新或者删除语句中子语句不能操作同一个表You can't specify target table 'test' for update in FROM clause
问题描述:有个数据表test,有个字段value,如下 mysql> select * from test;+----+------------------------------------+ ...
- mySQL 教程 第5章 插入 更新与删除数据
使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 为表中所有字段插入数据,可以不 ...
- MySQL入门很简单: 9 插入 更新与删除数据
1. 插入数据:INSERT 1)为表的所有字段插入数据 第一种: 不指定具体的字段名 INSERT INTO 表名 VALUES(值1,值2,...,值n): 第二种:INSERT语句中列出所有字段 ...
- MySQL笔记(三)之数据插入更新与删除
INSERT INTO INSERT INTO 语句用于向表格中插入新的行. 语法: INSERT INTO 表 VALUES (值1, 值2,....) # 列数必须和值的个数匹配 INSERT I ...
- MySQL插入更新_ON DUPLICATE KEY UPDATE
前提:操作的表具有主键或唯一索引 INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT INTO IGNORE:表中不存在对应的记录,则插入:若存在对应的记录 ...
- mysql 插入更新判断 ON DUPLICATE KEY UPDATE 和 REPLACE INTO
平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主 ...
随机推荐
- Chrome实用调试技巧
如今Chrome浏览器无疑是最受前端青睐的工具,原因除了界面简洁.大量的应用插件,良好的代码规范支持.强大的V8解释器之外,还因为Chrome开发者工具提供了大量的便捷功能,方便我们前端调试代码,我们 ...
- linux账户密码安全策略
前言 对于服务器安全来说,服务器的账号密码是很重要的事情 我们可以选择取消账号密码登陆,只使用公钥登录,但有时可能并不方便 这里告诉大家账号密码如何管理更加安全 一.账号密码最大使用天数 在/etc/ ...
- Linux命令-进程查看命令:ps
查看进行 ps aux
- Python学习笔记012——装饰器
1 装饰器 1.1装饰器定义 在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator). 1.2 装饰器分类 装饰器:函数装饰器,类装饰器,函数的装饰器,类的装饰器 装饰器:函数装饰函 ...
- Factory - 工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一 ...
- 用ansible 完成一次性的工作(ad-Hoc)工作
ansible 真正强大的功能是它的playbook,但是在日常的工作中通过会遇到一些工作,它们只是需要我们偶尔操作一下:比较说重启一下 操作系统:像这样的工作就用不着ansible-playbook ...
- cocos2dx 3.x designResolutionSize须主动设置
cocos2dx 3.x最初设置screenSize和designResolutionSize的地方如下: bool AppDelegate::applicationDidFinishLaunchin ...
- Oracle学习笔记之五,Oracle 11g的PL/SQL入门
1. PL/SQL概述 PL/SQL(Procedural Language/SQL)是Oracle的专用语言,是对标准SQL语言的扩展,它允许在其内部嵌套普通的SQL语句,还可以定义变量和常量,允许 ...
- 使用perldoc阅读perl文档
perl在安装的时候,就给我们送上一份大礼,组织精美,解释详细的perl百科全书已经安装在你的电脑里面了,遇到问题不要在去搜索那些博客了,还是练练英文,看看perldoc吧,呵呵. 1.用perldo ...
- redis基础之python连接redis(五)
前言 前面介绍了在数据库命令行直接操作redis,现在学习使用python的redis包来操作redis,本人安装的是redis==2.10.6: 系列文章 redis安装和配置 redis命令行操作 ...