简介:之前所有的内容我们描述的都是select语句。但是,除了select语句外,还有其他的语句需要我们了解一下,这一篇会介绍如何使用insert语句。大家可以先去以下链接复制创建表以及给表中插入数据的语句MySQL建表语句2MySQ ...
之前所有的内容我们描述的都是select语句。但是,除了select语句外,还有其他的语句需要我们了解一下,这一篇会介绍如何使用insert语句。大家可以先去以下链接复制创建表以及给表中插入数据的语句MySQL建表语句2MySQL案例使用表建表以及插入数据语句insert语句是用来给数据库中插入数据的,可以在以下几种情况下使用insert语句:(1)插入完整的行(2)插入行的一部分(3)插入多行(4)插入某些查询的结果这一篇的内容将分别介绍这四种情况。1.插入完整的行插入完整的行是insert语句的基本用法,要求指定表名和被插入到新行中的值。例如:给customers表中插入一行数据insert into customersvalues(NULL, "Pep E. LaPew", "100 Main Street", "Los Angeles", "CA", "90046", "USA", NULL, NULL);在customers表中每一列在insert语句中都必须有一个对应的值,如果这一列没有值,有NULL代替。各个列必须以它们在表中定义的次序出现。第一列cust_id也是NULL,这是因为每插入一个新行时,该列由MySQL自动填充。这种语法虽然简单,但是不安全,应该尽量避免使用。2.插入行的一部分insert into customers(cust_name, cust_address, cust_state, cust_zip, cust_country, cust_contact, cust_email)values(NULL, "Pep E. LaPew", "100 Main Street", "Los Angeles", "CA", "90046", "USA", NULL, NULL);上面这个语句也是在customers表中插入一行数据,但是,在表名后面的括号中明确给出了列名。总是使用指定的列名有以下优点:(1)在表结构发生变化后,依然可以发挥作用。(2)可以提升整体性能,因为索引的时候可以精确到列,而不是查出所有列,再进行筛选。3.插入多行如果每条insert语句中的列名和次序相同,可以使用如下组合各语句insert into customers(cust_name, cust_address, cust_state, cust_zip, cust_country, cust_contact, cust_email)values(NULL, "Pep E. LaPew", "100 Main Street", "Los Angeles", "CA", "90046", "USA", NULL, NULL),( NULL, "M. Martian", "42 Galaxy Way", "New York", "NY", "11213", "USA" NULL, NULL);每组值用圆括号括起来,用逗号分隔。4.插入某些查询的结果insert into customers(cust_name, cust_address, cust_state, cust_zip, cust_country, cust_contact, cust_email)select cust_name, cust_address, cust_state, cust_zip, cust_country, cust_contact, cust_email from custnew;上述语句把custnew中的数据全都插入到custmers表中,在例子中,两张表中的列名完全相同,其实,没有必要,因为MySQL并不关心列名,只关心值的类型。MySQL学习系列之十四——全文本搜索(2)MySQL学习系列之十三——全文本搜索(1)MySQL学习系列之十二——组合查询MySQL学习系列之十一——创建联结本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.rzxsoft.cn学习互联网营销技术请到巅云建站www.rzxsoft.cn。 |