MySQL必知必会学习笔记(9)—— 插入数据

1 插入完整的行

1.1 方法一

  • 这种语法简单,但是不安全,SQL 语句依赖于表中列的次序;

  • 原数据表
    MySQL必知必会学习笔记(9)—— 插入数据_第1张图片
INSERT into customers
VALUES(null,
'Mike','HaiDian Distinct','Beijing',
'CN','100876','China',null,null);

MySQL必知必会学习笔记(9)—— 插入数据_第2张图片

1.2 方法二

  • values 必须以其指定的次序匹配指定的列名,不一定按各个列出现在实际表中的次序;
INSERT into customers(cust_name,
cust_address,cust_city,cust_state,cust_zip,
cust_country,cust_contact,cust_email)
VALUES('John','Xiafei LU','Shanghai',
'CN','666666','China',null,null);

MySQL必知必会学习笔记(9)—— 插入数据_第3张图片

1.3 省略列

如果表的定义允许,则可以在 insert 操作中省略某些列。省略的列必须满足一下某个条件:

  1. 该列定义允许 null
  2. 在表定义中给出默认值;

2 插入多个行

INSERT into customers(cust_name,
cust_address,cust_city,cust_state,cust_zip,
cust_country)
VALUES('Jenny','AAAA','Shanghai',
'CN','77777','China'),
('Herry','BBBB','Beijing','CN','88888','China');

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;
  • insertselect 中的列名不一定非要相同

你可能感兴趣的:(#,SQL必知必会学习笔记)