互联网常识:如何给mysql添加新记录?

给你解释一下怎么给mysql添加记录。相信朋友们也应该关注这个话题。现在来说说mysql是怎么给我朋友加记录的。边肖还收集了关于如何向mysql添加新记录的信息。希望大家喜欢相关资料。

向mysql添加记录的方法:1。使用“INSERT INTO表名列名[,…列名n]] VALUES(值1)[……,(值n);”声明;2.使用语句“插入到表名中,设置列名1=值1,列名2=值2……”。

(推荐教程:mysql视频教程)

MySQL数据表由行和列组成。通常,表的“列”称为字段,表的“行”称为记录。

成功创建数据库和表后,有必要将数据插入数据库的表中。在MySQL中,INSERT语句可以用来将一行或多行记录插入数据库的现有表中。

基本语法

INSERT语句有两种语法形式:INSERT…VALUES语句和INSERT…SET语句。

1)插入…值语句

插入值的语法格式是:

插入到表名[列名1 [,…列名n]]

VALUES(value 1)[……,(value n)];语法描述如下。

表名:指定被操作表的名称。

列名:指定需要插入数据的列名。如果将数据插入到表中的所有列中,则可以省略所有列名,并且可以直接使用insert表名VALUES(…)。

值或值子句:该子句包含要插入的数据列表。数据列表中数据的顺序应该对应于列的顺序。

2)插入…设置语句

语法格式为:

插入表格名称

设置列名1=值1,

列名2=值2,

……此语句用于将相应的列值直接赋给表中的某些列,即要插入的数据的列名。col_name在SET子句中被指定为指定的列名,后跟指定的数据,而未指定的列值被指定为该列的默认值。

从INSERT语句的两种形式可以看出:

使用INSERT…VALUES语句将一行数据或多行数据插入表中;

使用INSERT…SET语句指定插入行或某些列中每一列的值;

INSERT…SELECT语句将其他表中的数据插入到一个表中。

使用INSERT…SET语句将某些列的值插入表中更灵活;

INSERT…VALUES语句可以一次插入多条数据。

在MySQL中,用一条insert语句处理多个插入比用多条INSERT语句更快。

当使用单个INSERT语句插入多行数据时,只需用括号将每行数据括起来。

向表中的所有字段添加值

在test_db数据库中,创建一个课程信息表tb _ courses,包含输入的SQL语句和课程编号课程_id、课程名称课程_name、课程学分课程_grade、课程备注课程_info的执行结果,如下图所示。

mysql CREATE TABLE tb _课程

- (

-课程标识整数非空自动增量,

-课程名称字符(40)不为空,

-课程等级浮动不为空,

-课程信息CHAR(100)空,

-主键(课程标识)

- );

查询OK,0行受影响(0.00秒)向表中所有字段插入值有两种方式:一种是指定所有字段名称;另一种是根本不指定字段名。

[示例1]在tb_courses表中插入新记录。课程_id的值为1,课程_name的值为“网络”,课程_ grade的值为3,3info的值为“计算机网络”。

在执行插入操作之前,检查tb_courses表的SQL语句,执行结果如下。

ush:sql;toolbar:false">mysql> SELECT * FROM tb_courses; Empty set (0.00 sec)

查询结果显示当前表内容为空没有数据接下来执行插入数据的操作输入的 SQL 语句和执行过程如下所示。

mysql> INSERT INTO tb_courses
    -> (course_id,course_name,course_grade,course_info)
    -> VALUES(1,'Network',3,'Computer Network');
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
+-----------+-------------+--------------+------------------+
1 row in set (0.00 sec)

可以看到插入记录成功。在插入数据时指定了 tb_courses 表的所有字段因此将为每一个字段插入新的值。

INSERT 语句后面的列名称顺序可以不是 tb_courses 表定义时的顺序即插入数据时不需要按照表定义的顺序插入只要保证值的顺序与列字段的顺序相同就可以。

【实例 2】在 tb_courses 表中插入一条新记录course_id 值为 2course_name 值为“Database”course_grade 值为 3info值为“MySQL”。输入的 SQL 语句和执行结果如下所示。

mysql> INSERT INTO tb_courses
    -> (course_name,course_info,course_id,course_grade)
    -> VALUES('Database','MySQL',2,3);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
+-----------+-------------+--------------+------------------+
2 rows in set (0.00 sec)

使用 INSERT 插入数据时允许列名称列表 column_list 为空此时值列表中需要为表的每一个字段指定值并且值的顺序必须和数据表中字段定义时的顺序相同。

【实例 3】在 tb_courses 表中插入一条新记录course_id 值为 3course_name 值为“Java”course_grade 值为 4info 值为“Jave EE”。输入的 SQL 语句和执行结果如下所示。

mysql> INSERT INTO tb_courses
    -> VLAUES(3,'Java',4,'Java EE');
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
|         3 | Java        |            4 | Java EE          |
+-----------+-------------+--------------+------------------+
3 rows in set (0.00 sec)

INSERT 语句中没有指定插入列表只有一个值列表。在这种情况下值列表为每一个字段列指定插入的值并且这些值的顺序必须和 tb_courses 表中字段定义的顺序相同。

注意:虽然使用 INSERT 插入数据时可以忽略插入数据的列名称若值不包含列名称则 VALUES 关键字后面的值不仅要求完整而且顺序必须和表定义时列的顺序相同。如果表的结构被修改对列进行增加、删除或者位置改变操作这些操作将使得用这种方式插入数据时的顺序也同时改变。如果指定列名称就不会受到表结构改变的影响。

以上就是mysql怎么新增记录的详细内容!

来源:php中文网

发表评论