1、插入

INSERT INTO customers(customers.cust_address,customers.cust_city,customers.cust_state,customers.cust_zip,customers.cust_country,customers.cust_contact,customers.cust_email)VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL)

在插入的时候为了安全起见,那么每次插入的时候应该写好列名。不管使用哪种INSERT语法,都必须给出VALUES的正确数目。如果不提供列名,则必须给每个表列提供一个值。如果提供列名,则必须对每个列出的列给出一个值。如果不这样,将产生一条错误消息,相应的行插入不成功。

省略列 如果表的定义允许,则可以在INSERT操作中省略某些列。

省略的列必须满足以下某个条件

  • 该列定义为允许NULL值(无值或空值)。
  • 在表定义中给出默认值。这表示如果不给出值,将使用默认值

提高整体性能 数据库经常被多个客户访问,对处理什么请求以及用什么次序处理进行管理是MySQL的任务。

INSERT操作可能很耗时(特别是有很多索引需要更新时),而且它可能降低等待处理的SELECT语句的性能。

如果数据检索是最重要的(通常是这样),则你可以通过在INSERT和INTO之间添加关键字LOW_PRIORITY,指示MySQL降低INSERT语句的优先级。

INSERT INTO customers(customers.cust_address,customers.cust_city,customers.cust_state,customers.cust_zip,customers.cust_country,customers.cust_contact,customers.cust_email)VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL),('zhangsan','good','111','ca','dasdsa','usa',NULL),('zhangsan','good','111','ca','dasdsa','usa',NULL),('zhangsan','good','111','ca','dasdsa','usa',NULL)

INSERT一般用来给表插入一个指定列值的行。但是,INSERT还存在另一种形式,可以利用它将一条SELECT语句的结果插入表中。

这就是所谓的INSERT SELECT,顾名思义,它是由一条INSERT语句和一条SELECT语句组成的。

假如你想从另一表中合并客户列表到你的customers表。不需要每次读取一行,然后再将它用INSERT插入,可以如下进行:

insert into customers(xx,xx,xx)select xx,xx,xxfrom newcustomers

INSERT SELECT中的列名 为简单起见,这个例子在INSERTSELECT语句中使用了相同的列名。

但是,不一定要求列名匹配。事实上,MySQL甚至不关心SELECT返回的列名。

它使用的是列的位置,因此SELECT中的第一列(不管其列名)将用来填充

表列中指定的第一个列,第二列将用来填充表列中指定的第二个列,如此等等。

这对于从使用不同列名的表中导入数据是非常有用的。

2、更新

为了更新(修改)表中的数据,可使用UPDATE语句。

可采用两种方式使用UPDATE

  • 更新表中特定行;
  • 更新表中所有行。
UPDATE customersSET cust_email = 'email@qq.com'where cust_id = 10005;

如果更新多个列的话:

UPDATE customersSET cust_email = 'email@qq.com',cust_name = 'game'where cust_id = 10005;

为即使是发生错误,也继续进行更新,可使用IGNORE关键字,如下所示: UPDATE IGNORE customers…

这么说明一下,如果确定只更新一行的话,那么建议是更新是用update 1这种模式,指明只更新一行。

为了从一个表中删除(去掉)数据,使用DELETE语句。可以两种方式使用DELETE

3、删除

  • 从表中删除特定的行;
  • 从表中删除所有行。

删除表的内容而不是表 DELETE语句从表中删除行,甚至是
删除表中所有行。但是,DELETE不删除表本身。

更快的删除 如果想从表中删除所有行,不要使用DELETE

可使用TRUNCATE TABLE语句,它完成相同的工作,但速度更快(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据)

到此这篇关于mysql 数据插入和更新及删除详情的文章就介绍到这了,更多相关mysql 数据插入和更新及删除内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. 《Android开发从零开始》——25.数据存储(4)
  4. Android系统配置数据库注释(settings.db)
  5. Android中不同应用间实现SharedPreferences数据共享
  6. android图表ichartjs
  7. Android内容提供者源码
  8. android SharedPreferences
  9. Android(安卓)Paging组件Demo

随机推荐

  1. (android)应用基础
  2. xamarin android实现Toolbar+DrawerLayou
  3. Android(安卓)ViewPager图片滑动
  4. 配置android app 方法数超过65k问题
  5. 在android tegra2中添加一个camera
  6. Android Installation error: INSTALL_FA
  7. TextView的一些属性
  8. Android P应用显示宽高比maxAspectRatio
  9. Android调试神器stetho使用详解和改造
  10. 【Android Developer Blog】Android Stud