您的位置:首页 > 数据库 > MySQL

MySQL 学习<七> 插入、更新与删除数据

2017-05-23 15:51 567 查看

插入数据

语法:INSERT INTO table_name (column_list)  VALUES  (value_list);

下面为方便演示,已经创建好一个person表,表的具体描述如下如所示:



插入一条数据:



同理,为表的特定字段插入数据:



同时插入多条数据,语法:
INSERT INTO table_name (column_list) 
VALUES  (value_list1),(value_list2),...,(value_listn);



如果不指定插入列表,AUTO_INCREMENT属性为自动插入唯一自增编号:





将查询结果插入到目标表中;语法:

INSERT INTO table_name1 (column_list1) 
SELECT (column_list2)  FROM  table_name2 WHERE (condition);
下面同样创建一个person_old表以方便演示。

person_old表中的数据如下:



将查询结果插入到person表中:



再次查看执行结果:



更新数据

数据表中有数据后,实际运用中不可避免地会对其有更新操作,下面会对其进行相应演示。
更新基本语法:
UPDATE table_name 
SET  column_name1 = value1,column_name2 = value2,...,column_namen = valuen
WHERE  (condition);

示例,将id为11的数据,age字段更改为15,name字段更改为mc:



删除数据

基本语法:DELETE  FROM  table_name  [WHERE <condition>];
如果没有WHERE 限定条件,将会删除表中所有数据记录。
示例:



这里,在补充几点:
1.DELETE * FROM table_name;将删除表中所有数据;
2.除此TRUNCATE TABLE table_name;也能达到同样的效果,但是TRUNCATE语句时直接删除原来的整个表,并重新建立一个结构一样的表,因此速度快于DELETE;
3.DROP TABLE table_name;语句是直接删除整个表;
4.速度上来看,DROP > TRUNCATE > DELETE。
建议:
1.使用上,想删除部分数据行用 delete,注意带上where子句. 回滚段要足够大。

2.想删除表,当然用 drop。

3.想保留表而将所有数据删除,如果和事务无关,用truncate即可。如果和事务有关,或者想触发trigger,还是用delete。

4.如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql sql 数据库
相关文章推荐