MySQL——插入数据
1. 为表的所有字段插入数据
语法格式如下:
INSERT INTO table_name ( column_list ) VALUES ( value_list );
table_name: 指定要插入数据的表名。
column_list: 指定要插入数据的列。
value_list: 指定每个列要插入的数据。
【注】 a. 字段列和数据值的数量必须相同。
b. 向表中的所有字段插入值的方法有两种: 一种是指定所有字段名,另一种是完全不指定字段名。
mysql> DESC person;
+-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | char(40) | NO | | | |
| age | int(11) | NO | | 0 | |
| info | char(50) | YES | | NULL | |
+-------+------------------+------+-----+---------+----------------+
【例】在 person 表中,插入一条新纪录,id 值为 3,name 值为 Mary,age 值为 24,info 值为 Musician。
插入SQL语句:
mysql> INSERT INTO PERSON-> VALUES (3, 'Mary',24, 'Musicion');
Query OK, 1 row affected (0.05 sec)
查看执行结果:
mysql> SELECT * FROM person;
+----+------+-----+----------+
| id | name | age | info |
+----+------+-----+----------+
| 3 | Mary | 24 | Musicion |
+----+------+-----+----------+
【例】在 person 表中,插入一条新纪录,id 值为 2,name 值为 Suse,age 值为 22,info 值为 dancer。
插入SQL语句:
mysql> INSERT INTO PERSON ( age ,name, id, info)-> values (22,'Suse',2,'dancer');
Query OK, 1 row affected (0.06 sec)
查看执行结果:
mysql> SELECT * FROM person;
+----+------+-----+----------+
| id | name | age | info |
+----+------+-----+----------+
| 2 | Suse | 22 | dancer |
| 3 | Mary | 24 | Musicion |
+----+------+-----+----------+
可以看出,插入数据时,不需要按照表定义的顺序插入,只要保证值的顺序与列字段的顺序相同就可以。
2. 为表的指定字段插入数据
为表的指定字段插入数据,就是用 INSERT 语句为部分字段插入值,而其他字段的值为定义表时的默认值。
【例】在 person 表中,插入一条新纪录,name 值为 Willam,age 值为 20,info 值为 sports man。
插入SQL语句:
mysql> INSERT INTO PERSON (name , age, info)-> VALUES ('Willam', 20, 'sports man');
Query OK, 1 row affected (0.09 sec)
查看执行结果:
mysql> SELECT * FROM person;
+----+--------+-----+-------------+
| id | name | age | info |
+----+--------+-----+-------------+
| 2 | Suse | 22 | dancer |
| 3 | Mary | 24 | Musicion |
| 4 | Willam | 20 | sports man |
+----+--------+-----+-------------+
3. 同时插入多条记录
用 INSERT 语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号隔开
语法格式:
INSERT INTO table_name ( column_list )
VALUES ( value_list1 ) , ( value_list2 ), ... ,( value_listn );
4. 将查询结果插入表中
INSERT 还可以将 SELECT 请句查询的结果插入到表中。
语法格式如下:
INSERT INTO table_name1 ( column_list1)
SELECT (column_list2) FROM table name2 WHERE (condition)
table_name1 指定待插入数据的表;
column_listl 指定待插入表中要插入数据的列;
table_name2 指定插入数据的来源表;
column_list2 指定数据来源表的查询列,该列表必须和 column_list1 列表中的字段个数 及数据类型相同;
condition 指定 SELECT 语句的查询条件。
【注】参考于清华大学出版社《MySQL数据库应用案例课堂》2016年1月第1版
MySQL——插入数据相关推荐
- MySQL 插入数据时,中文乱码问题的解决
MySQL 插入数据时,中文乱码问题的解决 参考文章: (1)MySQL 插入数据时,中文乱码问题的解决 (2)https://www.cnblogs.com/sunzn/archive/2013/0 ...
- linux mysql插入中文乱码_解决Linux下Tomcat向MySQL插入数据中文乱码问题
一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一 直接在linux上面使用 ...
- mysql插入数据与删除重复记录的几个例子(收藏)
mysql插入数据与删除重复记录的几个例子 12-26shell脚本实现mysql数据的批量插入 12-26mysql循环语句插入数据的例子 12-26mysql批量插入数据(insert into ...
- c# 向mysql插入数据_C#连接mysql数据库 及向表中插入数据的方法
mysql 语句操作: 创建数据库:create database hotelATMDb; use hotelATMDb; C#连接mysql 1.引用 dll MySql.Data.dll 下载地址 ...
- mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法
引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...
- java mysql 插入 乱码_java向mysql插入数据乱码问题的解决方法
遇到java向mysql插入数据乱码问题,如何解决? MySQL默认编码是latin1 mysql> show variables like 'character%'; +----------- ...
- mysql 新增返回主键自增id_详解mysql插入数据后返回自增ID的七种方法
引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...
- jdbc 3种获得mysql插入数据的自增字段值的方法_JDBC 3种获得mysql插入数据的自增字段值的方法...
JDBC 3种获得mysql插入数据的自增字段值的方法. 1. Retrieving AUTO_INCREMENT Column Values using Statement.getGenerated ...
- java向mysql插入数据乱码问题解决
java向mysql插入数据乱码问题解决 参考文章: (1)java向mysql插入数据乱码问题解决 (2)https://www.cnblogs.com/jack204/archive/2012/0 ...
- Python3 多线程(连接池)操作MySQL插入数据
1.主要模块 DBUtils : 允许在多线程应用和数据库之间连接的模块套件 Threading : 提供多线程功能 2.创建连接池 PooledDB 基本参数: mincached : 最少的空闲连 ...
最新文章
- 226. Invert Binary Tree 翻转二叉树
- Sprint2-2.0
- linux wptmp文件分析,wordpress上传图片提示“缺少临时文件夹”的解决方法
- linux下的I2C驱动记录(RK)
- ZZULIOJ 1097: 计算平均成绩(函数专题)
- ETH联合Meta和鲁汶大学 提出视频恢复算法VRT,在视频超分辨率、去模糊和去噪性能达到SOTA...
- 3种方法实现http虚拟主机
- allergro音乐术语什么意思_「8D音乐」里的 8 是什么意思?
- Xcode常用的快捷键有哪些?
- [实验]一个小的局域网
- python元素定位_Python自动化中的元素定位(一)
- Linux epoll模型详解及源码分析
- 23种设计模式学习记录之单例设计模式
- networkx igraph相互转换+效率比较
- 使用html5静态页面的总结,幸福西饼:静态页面制作项目总结
- 分数阶傅立叶变换程序汇总(转载)
- MATLAB基本使用方法
- anemometer mysql 500_Anemometer基于pt-query-digest将MySQL慢查询可视化
- jpg和png的区别
- iOS开发基本功的那些事儿(未完待续)
热门文章
- C语言——A、‘A‘、“A“的区别
- tcp连接失败触发的异常
- 浪漫的的c语言编程,〖落拓素净〗C语言编程也可以很浪漫。。。。。。
- 长安链大规模数据存储及数据膨胀分析
- Python实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。通过调用isPrime()函数,打印200以内的所有质数,以空格分割。
- python莱布尼茨法计算π_python圆周率计算(带进度条)
- JPA 概述及 SpringDataJpa 框架基本使用指南
- Python中partial的使用
- Matlab计算波形的总谐波失真--THD(附完整代码)
- 设置iPhone的呼叫转移来电等待