MySQL——插入数据

1.  为表的所有字段插入数据

    语法格式如下:

    INSERT   INTO  table_name  (  column_list )  VALUES  (  value_list  );

    table_name:    指定要插入数据的表名。

    column_list:    指定要插入数据的列。

    value_list:    指定每个列要插入的数据。  

    【注】  a.    字段列和数据值的数量必须相同。

                 b.    向表中的所有字段插入值的方法有两种:    一种是指定所有字段名,另一种是完全不指定字段名。

mysql> DESC  person;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | char(40)         | NO   |     |         |                |
| age   | int(11)          | NO   |     | 0       |                |
| info  | char(50)         | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+

【例】在  person  表中,插入一条新纪录,id  值为  3,name  值为  Mary,age 值为  24,info  值为  Musician。

插入SQL语句:

mysql> INSERT  INTO  PERSON
    -> VALUES  (3, 'Mary',24, 'Musicion');
Query OK, 1 row affected (0.05 sec)

查看执行结果:

mysql> SELECT  * FROM person;
+----+------+-----+----------+
| id | name | age | info     |
+----+------+-----+----------+
|  3 | Mary |  24 | Musicion |
+----+------+-----+----------+

【例】在  person  表中,插入一条新纪录,id  值为  2,name  值为  Suse,age 值为  22,info  值为  dancer。

插入SQL语句:

mysql> INSERT  INTO  PERSON   ( age ,name, id, info)
    -> values  (22,'Suse',2,'dancer');
Query OK, 1 row affected (0.06 sec)

查看执行结果:

mysql> SELECT  * FROM person;
+----+------+-----+----------+
| id | name | age | info     |
+----+------+-----+----------+
|  2 | Suse |  22 | dancer   |
|  3 | Mary |  24 | Musicion |
+----+------+-----+----------+
    可以看出,插入数据时,不需要按照表定义的顺序插入,只要保证值的顺序与列字段的顺序相同就可以。


2.  为表的指定字段插入数据

    为表的指定字段插入数据,就是用  INSERT  语句为部分字段插入值,而其他字段的值为定义表时的默认值。

【例】在  person  表中,插入一条新纪录,name  值为  Willam,age 值为  20,info  值为  sports man。

插入SQL语句:

mysql> INSERT  INTO  PERSON  (name , age, info)
    -> VALUES ('Willam',  20, 'sports  man');
Query OK, 1 row affected (0.09 sec)

查看执行结果:

mysql> SELECT  * FROM person;
+----+--------+-----+-------------+
| id | name   | age | info        |
+----+--------+-----+-------------+
|  2 | Suse   |  22 | dancer      |
|  3 | Mary   |  24 | Musicion    |
|  4 | Willam |  20 | sports  man |
+----+--------+-----+-------------+

3.  同时插入多条记录

    用  INSERT  语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号隔开

    语法格式:

     INSERT   INTO  table_name  (  column_list ) 

     VALUES  (  value_list1 ) ,   (  value_list2  ),  ...   ,(  value_listn  );


4.  将查询结果插入表中

    INSERT  还可以将  SELECT  请句查询的结果插入到表中。

    语法格式如下:

    INSERT   INTO   table_name1   ( column_list1)

    SELECT   (column_list2)   FROM  table  name2   WHERE  (condition)


    table_name1  指定待插入数据的表;

    column_listl   指定待插入表中要插入数据的列;

    table_name2   指定插入数据的来源表;

    column_list2  指定数据来源表的查询列,该列表必须和  column_list1   列表中的字段个数 及数据类型相同;

    condition 指定 SELECT 语句的查询条件。


【注】参考于清华大学出版社《MySQL数据库应用案例课堂》2016年1月第1版

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值