Mysql method to add new records: 1. Use the "INSERT INTO table name column name [, ... column name n] ] VALUES (value 1) [... , (value n);" statement; 2. Use "INSERT INTO table name SET column name 1 = value 1, column name 2 = value 2..." statement.
MySQL data table is composed of rows and columns. Usually The "columns" of the table are called fields, and the "rows" of the table are called records.
After the database and table are successfully created, data needs to be inserted into the database table. In MySQL, you can use the INSERT statement to insert one or more rows of records into an existing table in the database.
Basic syntax
The INSERT statement has two syntax forms, namely the INSERT…VALUES statement and the INSERT…SET statement.
: Specify the name of the table to be operated on.
: Specify the column name into which data needs to be inserted. If data is inserted into all columns in the table, all column names can be omitted, and INSERT
VALUES(…) 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>,
…
Copy after login
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
Create a course information table tb_courses in the test_db database, including the course number course_id and course name course_name, course credits course_grade and course notes course_info, the input SQL statement and execution results are as follows.
mysql> CREATE TABLE tb_courses
-> (
-> course_id INT NOT NULL AUTO_INCREMENT,
-> course_name CHAR(40) NOT NULL,
-> course_grade FLOAT NOT NULL,
-> course_info CHAR(100) NULL,
-> PRIMARY KEY(course_id)
-> );
Query OK, 0 rows affected (0.00 sec)
Copy after login
There are two ways to insert values into all fields in the table: one is to specify all field names; the other is to not specify field names 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)
Copy after login
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.
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 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.
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.
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. 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.
The above is the detailed content of How to add new records in mysql?. For more information, please follow other related articles on the PHP Chinese website!
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn