SQL必知必会——插入数据(十五)
1、数据插入
INSERT用来将行插入(或添加)到数据库表。插入有几种方式:
插入完整的行
插入行的一些部分
插入某些查询的结果
注意:
1、使用INSERT语句可能需要客户端/服务端DBMS中的特定安全权限。在你试图使用INSERT前,应该保证自己有足够的安全权限
2.1、插入完整的行
INSERT INTO customers
VALUES(
'Toy Land'
,'123 Any Street'
,'New York'
,'NY'
,'11111'
,'USA'
,'NULL'
,'NULL'
);
1
2
3
4
5
6
7
8
9
10
11
注意:
1、在某些SQL实现中,跟在INSERT之后的INTO关键字是可选的。但是,及时不一定需要,最好还是提供这个关键字,这样需做将保证SQL代码在DBMS之间可移植
2、上面的SQL语句高度依赖于表中列的定义,还依赖于其容易获得次序的信息。即使可以得到这种次序信息,也不能保证各列在下一次表结构变动后保持完全相同的次序。因此,编写依赖于特定次序的SQL语句是很不安全的,这样迟早会出问题
INSERT INTO customers
(
cust_id,
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
cust_contact,
cust_email
)
VALUES(
'Toy Land',
'123 Any Street',
'New York',
'NY',
'11111',
'USA',
'NULL',
'NULL',
)
--在插入行时,DBMS将用VALUES列表中的相应值贴入列表中的对应项。VALUES中的第一个值对应第一个指定列名,
第二个值对应于第二个列名,如此等等。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
注意:
1、因为提供了列名,VALUES必须以其指定的次序匹配指定的列名,不一定按各列出现在表中的实际次序。其优点是,即使表的结构改变,这条INSERT语句任然能正确工作。
2.2、插入部分行
INSERT INTO customers
(
cust_id,
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
)
VALUES(
'Toy Land',
'123 Any Street',
'New York',
'NY',
'11111',
'USA',
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
注意:
省略的列必须满足一下某些条件
1、该列定义为允许NULL值(无值或空值)
2、在表定义中给出默认值。这表示如果不给出值,将使用默认值
2.3、插入检索出的数据
INSERT INTO customers
(
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country
)
SELECT
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country
FROM custnew;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
注意:
1、为了简单起见,这个例子在INSERT和SELECT语句中使用了相同的列名。但是,不一定要求列名匹配。事实上,DBMS一点也不关心SELECT返回的列名。他使用的列的位置。
2.4、从一个表复制到另一个表
SELECT *
INTO custcopy
FROM customers;
--这条SELECT语句创建一个名为custcopy的新表,并把customers表的整个内容复制到新表中。
因为这里使用的时select *,所以将在custcopy表中创建(并填充)于customers表的每一列相同的列。
1
2
3
4
5
注意:
任何SELECT选和子句都可以使用,包括WHERE和GROUP BY
可利用联结从多个表插入数据
不管从多少个表中检索数据,数据都只能插入到一个表中
---------------------
SQL必知必会——插入数据(十五)的更多相关文章
- 【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入
文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8. ...
- 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作
上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...
- 【SQL必知必会笔记(2)】检索数据、排序检索数据
上个笔记中介绍了一些关于数据库.SQL的基础知识,并且创建我们后续练习所需的数据库.表以及表之间的关系,从本文开始进入我们的正题:SQL语句的练习. 文章目录 1.检索数据(SELECT语句) 1.1 ...
- .NET零基础入门09:SQL必知必会
一:前言 仿佛到了更进一步的时候了,每一个程序员迟早都会遇到数据存储的问题.我们拿什么来存储程序产生的数据?举例来说,用什么来存储我们的打老鼠游戏每次的成绩呢?选择如下: 1:内存中.缺点,退出游戏, ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会--建立练习环境
书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...
- SQL 必知必会
本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...
- 你必知必会的SQL面试题
写在前面的话 本文参考原博<走向面试之数据库基础:一.你必知必会的SQL语句练习-Part 1>和<走向面试之数据库基础:一.你必知必会的SQL语句练习-Part 2>进行练习 ...
- SQL语法语句总结(《SQL必知必会》读书笔记)
一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL ...
- 读书笔记--SQL必知必会12--联结表
12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联 ...
随机推荐
- python 对 excel 的操作
参考:https://www.php.cn/python-tutorials-422881.html 或 https://blog.51cto.com/wangfeng7399/2339556(使用 ...
- hbase centos7 安装体验
1. 准备需要jdk1.8,hbase安装文件.大家可以官网下载. 解压文件,复制到指定目录 tar -zxvf jdk-8u201-linux-x64.tar.gz tar -zxvf hbas ...
- centos7运行yum报如下提示:Run "yum repolist all" to see the repos you have
centos7运行yum报如下提示: There are no enabled repos. Run "yum repolist all" to see the repos you ...
- Ionic4 入门
1.搭建环境 1.电脑安装node.js,安装后电脑会自动安装npm 2.通过cmd命令,安装cnpm npm install -g cnpm -registry=https://regist ...
- 洛谷 P1111 修复公路——并查集
先上一波链接qwq https://www.luogu.org/problem/P1111 这题就是裸的并查集咯qwq 维护一下连通块的数目 数目变为一的时候整个图就连通了 输出此时的答案就okay拉 ...
- Ubuntu安装程序提示无法获得锁
目录 1.问题描述 2.问题原因 3.解决方案 3.1方法一:杀掉apt-get进程 3.2方法二:强制解锁 1.问题描述 E: 无法获得锁 /var/lib/dpkg/lock-frontend - ...
- linux中的常用信号
linux中的常用信号,见如下列表: 信号名 值 标注 解释 ------------------------------------------------------------------ HU ...
- 构建一个简单的Spring Boot项目
11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能. ...
- [fw]How to use DISM to install a hotfix from within Windows
How to use DISM to install a hotfix from within Windows Jeff Hughes (CORE) 15 Feb 2011 10:10 AM 22 H ...
- 定时任务crond介绍
定时任务cornd crond介绍: crond是linux系统中用来定期(或周期性)执行命令或指定程序任务脚本的一种程序. 查看crontab帮助: [root@db01 ~]# crontab - ...