Home >Database >Mysql Tutorial >How to increase the value of a field in mysql
In mysql, you can use the INSERT statement to increase the value of the field. The syntax is "INSERT INTO table name field name list VALUES (value list);" or "INSERT INTO table name SET field name 1 = value 1, Field name 2 = value 2,…”.
The operating environment of this tutorial: windows7 system, mysql8 version, Dell G3 computer.
In mysql, you can use the INSERT statement to increase the value of a field.
The INSERT statement can insert one row or multiple rows of tuple data into an existing table in the database.
The INSERT statement has two syntax forms, namely the INSERT…VALUES statement and the INSERT…SET statement.
1) INSERT…VALUES statement
INSERT VALUES 的语法格式为: INSERT INTO <表名> [ <字段名1> [ , … <字段名n>] ] VALUES (值1) [… , (值n) ];
The syntax is explained as follows.
722e3d59fd24604761db25f00f9b264f: Specify the name of the table to be operated on.
d54a89d049b8798d0c1aea7f04693a4f: Specify the field name into which data needs to be inserted. If data is inserted into all fields in the table, all field names can be omitted, and INSERTccc43248daffbac9770dee47fdaff697VALUES(…) can be used directly.
VALUES or VALUE clause: This clause contains the list of data to be inserted. The order of data in the data list should correspond to the order of columns.
2) INSERT...SET statement
The syntax format is:
INSERT INTO <表名> SET <字段名1> = <值1>, <字段名2> = <值2>, …
This statement is used to directly add data to the table. Certain columns specify corresponding column values, that is, the column name of the data to be inserted is specified in the SET clause, col_name is the specified column name, and the equal sign is followed by the specified data. For unspecified columns, the column value will be specified. The default value for this column.
It can be seen from the two forms of INSERT statement:
Use INSERT...VALUES statement to insert one row of data or multiple rows of data into the table;
Use the INSERT…SET statement to specify the value of each column in the inserted row, or to specify the values of some columns;
INSERT…SELECT statement Insert data from other tables into the table.
The INSERT…SET statement can be used to insert the values of some columns into the table, which is more flexible;
INSERT…VALUES statement Multiple pieces of data can be inserted at one time.
In MySQL, processing multiple inserts with a single INSERT statement is faster than using multiple INSERT statements.
When using a single INSERT statement to insert multiple rows of data, you only need to enclose each row of data in parentheses.
Add values to all fields in the table
There are two ways to insert values into all fields in the table: one is to specify all Field name; the other is not to specify the field name at all.
[Example 1]Insert a new record in the tb_courses table, the course_id value is 1, the course_name value is "Network", the course_grade value is 3, and the info value is "Computer Network".
Before performing the insert operation, view the SQL statement and execution results of the tb_courses table as follows.
mysql> SELECT * FROM tb_courses; Empty set (0.00 sec)
The query result shows that the current table content is empty and there is no data. Next, perform the operation of inserting data. The input SQL statement and execution process are as follows.
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)
You can see that the record was inserted successfully. When inserting data, all fields of the tb_courses table are specified, so new values will be inserted for each field.
The order of the column names after the INSERT statement does not need to be the order when the tb_courses table is defined. That is, when inserting data, it is not necessary to insert in the order defined by the table, as long as the order of the values is ensured to be the same as the order of the column fields.
[Example 2]Insert a new record in the tb_courses table, the course_id value is 2, the course_name value is "Database", the course_grade value is 3, and the info value is "MySQL". The input SQL statement and execution results are shown below.
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)
When using INSERT to insert data, the column name list column_list is allowed to be empty. At this time, the value list needs to specify a value for each field of the table, and the order of the values must be the same as the order in which the fields are defined in the data table. same.
[Example 3]Insert a new record in the tb_courses table, the course_id value is 3, the course_name value is "Java", the course_grade value is 4, and the info value is "Jave EE". The input SQL statement and execution results are shown below.
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)
The INSERT statement does not specify an insertion list, only a value list. In this case, the value list specifies the inserted values for each field column, and the values must be in the same order as the fields are defined in the tb_courses table.
Note: Although the column name of the inserted data can be ignored when using INSERT to insert data, if the value does not contain the column name, the value after the VALUES keyword must not only be complete, but also the order must be the same as the order of the columns when the table is defined. same. If the structure of the table is modified and columns are added, deleted, or their positions are changed, these operations will cause the order in which data is inserted in this way to change at the same time. If you specify column names, they will not be affected by table structure changes.
Add a value to the specified field in the table
为表的指定字段插入数据,是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
【实例 4】在 tb_courses 表中插入一条新记录,course_name 值为“System”,course_grade 值为 3,course_info 值为“Operating System”,输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses -> (course_name,course_grade,course_info) -> VALUES('System',3,'Operation System'); 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 | | 4 | System | 3 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
可以看到插入记录成功。如查询结果显示,这里的 course_id 字段自动添加了一个整数值 4。这时的 course_id 字段为表的主键,不能为空,系统自动为该字段插入自增的序列值。在插入记录时,如果某些字段没有指定插入值,MySQL 将插入该字段定义时的默认值。
【相关推荐:mysql视频教程】
The above is the detailed content of How to increase the value of a field in mysql. For more information, please follow other related articles on the PHP Chinese website!