数据库操作:插入数据insert |
您所在的位置:网站首页 › 表格批量导入数据怎么操作出来 › 数据库操作:插入数据insert |
INSERT是用来插入行到数据库表的,它要求指定表名和被插入到新行中的值。 INSERT语句一般不会产生输出。 插入可以用几种方式使用: 1.插入完整的行; 2.插入行的一部分; 3.插入多行; 4.插入某些查询的结果。 举个简单例子: insert into users VALUES(DEFAULT,'gakki','123'); 各个列必须以它们在表定义中出现的次序填充。虽然这种语法简单,但不安全,高度依赖表中列的定义次序,毕竟表结构可能发生变动。 所以可以这样写: insert into users(username,password) VALUES('aa','456');插入语句中给出了列名,MySQL将用VALUES列表中的相应值填入列表中的对应项。并不用按照各个列在实际表中出现的次序。即使表的结构改变,此INSERT语句仍然能够工作。 insert into users(password,username) VALUES('789','bb');
如果表的定义允许,可以在INSERT操作中省略某些列。比如该列定义为允许NULL值;表定义中给出了默认值。 INSERT操作可能很耗时,特别是有很多索引需要更新时,它可能降低等待处理的SELECT语句的性能。如果数据检索更重要,可以在INSERT和INTO之间添加关键字LOW_PRIORITY,降低INSERT的优先级。此关键字同样适用于UPDATE和DELETE语句。 插入多行 插入多行可以使用多个INSERT语句,甚至一次提交它们,每条语句用一个分号结束。 insert into users(username,password) VALUES('cc','000'); insert into users(username,password) VALUES('dd','111'); insert into users(username,password) VALUES('ee','222'); insert into users(username,password) VALUES('ff','333');只要每条INISERT语句中的列名和次序相同,可以组合各个语句。VALUES有多组值,每组用()括起来,用逗号隔开。 insert into users(username,password) VALUES('gg','444'),('hh','555'),('ii','666'); 插入检索出来的数据将一条SELECT语句的结果插入表中。 此处新建一张user表,上面的是users表。 INSERT INTO user(name,pwd) SELECT username,password FROM users;此处将从users表中查询的数据插入了user表。MySQL不关心select返回的列名,它使用的是列的位置。上述两表列名不同,但可以插入。 此外还可以包含WHERE子句来过滤插入的数据。 此处先清空user表,再往里插入数据。 INSERT INTO user(name,pwd) SELECT username,password FROM users WHERE id IN(2,4,6); INSERT INTO user(name,pwd) SELECT username,password FROM users WHERE username='gakki';上述内容参考自《MySQL必知必会》。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |