什么是SQL插入语句
在进行关系型数据库管理系统(RDBMS)中,SQL插入语句(INSERT statement)通常被用于向数据库表中插入数据。除了INSERT语句之外,还有SELECT、UPDATE 和 DELETE语句等操作语句。
其中,INSERT语句用于向关系型数据库表中添加新的数据行。它的基本语法如下:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
在上述语句中,INSERT INTO 是INSERT语句的关键字,table_name 是要插入数据的表名。接下来,将需要插入的列名和对应的值用圆括号包裹起来,用逗号隔开。
插入语句用法
1. 插入单行数据
要向数据表中插入单行数据,可以如下操作:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
例如,在一个名为“students”的数据库表中插入一条学生的数据:
INSERT INTO students (name, age, gender, address)
VALUES ('Tom', 18, '男', '北京市海淀区中关村街道工大北路五号北京邮电大学');
在上述例子中,数据表“students”中的列包括name、age、gender、address。插入的数据为('Tom', 18, '男', '北京市海淀区中关村街道工大北路五号北京邮电大学'),插入语句中给出了列名和对应的值。
需要注意的是,插入数据时列名和对应的值之间必须一一对应,并且字符串型变量需要用英文单引号括起来。
2. 插入多行数据
如果需要同时向数据表中插入多行数据,可以使用INSERT语句的多行语法。它的基本用法如下:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...),
(value1,value2,value3,...),
...;
例如,在数据表students中插入两条学生数据:
INSERT INTO students (name, age, gender, address)
VALUES ('Lucy', 20, '女', '北京市海淀区青龙桥街道北京大学'),
('Lisa', 19, '女', '北京市海淀区清华东路30号清华大学');
在上述例子中,使用INSERT语句的多行语法,插入了两行数据。
插入语句案例
1. 创建数据表
在进行插入数据操作之前,需要先创建要插入数据的数据表。下面是创建一个名为“employees”的数据表的 SQL创建语句:
CREATE TABLE employees (
id INT(11) NOT NULL AUTO_INCREMENT,
first_name VARCHAR(45) DEFAULT NULL,
last_name VARCHAR(45) DEFAULT NULL,
age INT(11) DEFAULT NULL,
PRIMARY KEY (id));
这个数据表包含了4个列:id、first_name、last_name和age。其中id列是主键。
2. 插入单行数据
下面的例子展示了如何向employees数据表中插入一条新的数据行:
INSERT INTO employees (first_name, last_name, age)
VALUES ('Tom', 'Smith', 25);
在上述SQL语句中,使用了INSERT INTO语句向employees数据表中添加了一条新的数据行。这个数据行包含了first_name、last_name和age三个列,对应的值分别是“Tom”、“Smith”和“25”。
3. 插入多行数据
下面的例子展示了如何向employees数据表中插入多条新的数据行:
INSERT INTO employees (first_name, last_name, age)
VALUES ('Tom', 'Smith', 25),
('John', 'Doe', 30),
('Jane', 'Doe', 28);
在上述SQL语句中,使用了INSERT INTO语句向employees数据表中添加了三条新的数据行。这三条数据行包含了first_name、last_name和age三个列,对应的值分别是“Tom”、“Smith”、“25”、“John”、“Doe”、“30”、“Jane”和“Doe”、“28”。
4. 插入查询结果
可以使用SELECT语句查询数据,并将其插入到数据表中。下面是一个示例,展示了如何从一个名为“customers”的数据表中查询出数据,然后将查询结果插入到名为“orders”的数据表中:
INSERT INTO orders(customer_id, order_date, amount)
SELECT id, '2022-10-24', total_price
FROM customers
WHERE phone='(123) 456-7890';
在上述SQL语句中,首先使用SELECT语句从customers数据表中查询出特定的数据行,然后使用INSERT INTO语句将查询结果插入到orders数据表中。其中,customer_id、order_date和amount三个列分别对应了id、'2022-10-24'和total_price三个列。
总结
通过上述例子,我们可知道了SQL插入语句的基本语法和用法,以及如何创建数据表、向其中插入单行数据、多行数据和查询结果。在实际操作过程中,应该按照业务需求合理地应用SQL插入语句,以便更好地管理和维护数据库。