mysql-增删改数据

一、增加操作

  INSERT用来插入或添加行到数据库表的。插入用以下几种方式:

  1、插入完整的行

    insert into customers values(null,'Pep E,LaPew','100 main street','Los Angeles','CA','90046','USA',null,null);

    此种方法对某个列必须提供一个值,如果某个列没有值,应该使用Null值

    各个列必须以他们在表定义中出现的次序填充。

 

  2、插入行的一部分,如下语句: 

    insert into customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cust_email) values('Pep E,LaPew','100 main street','Los Angeles','CA','90046','USA',null,null);

    这种方式更好,也更繁琐,它在表明后的括号里明确地给出了列名。在插入时,MYSQL将用values列表中的相应值填入列表中的对应项。

  

  3、插入多行

    我们想使用insert语句一次提交多行新数据,我们可以在每个insert语句后都用分号结束即可。

    insert into customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country)values('Pep E.LaPew','100 Main Street','Los Angeles','CA','90046','USA');

    insert into   customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country)values('M.Martian','42 Galaxy Way','New York','NY','11213','USA');

    如果,只要每条insert语句中的别名和次序相同,也可以如下:

    insert into customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country)values('Pep E.LaPew','100 Main Street','Los Angeles','CA','90046','USA'),('M.Martian','42 Galaxy Way','New York','NY','11213','USA');

 

  4、插入某些查询的结果

    假如你想从某个表中合并客户列表到你的customers表中,不需要每次读取一行,然后再将他们用insert插入,可以如下;

     insert into customers(cust_id,cust_contact,cust_email,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country) select cust_id,cust_contact,cust_email,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country from custnew;

    以上使用了insert select 从custnew中将所有数据导入customers。select从custnew检索出要插入的数据,而不是列出他们。select列出的每个列对应于customers表明后所跟的列表中的每个列。这条语句将插入多少行有赖于custnew表中有多少行。

 

二、修改操作

  为了更新(修改)表中的数据,可以使用update语句,如下两种方式:

  1、更新表中特定行

  2、更新表中所有行

  update customers set cust_email='elmer@fudd.com' where cust_id=10005;

  以上语句将cust_id=10005的cust_email列更新。

  如果更新多个列,如下:  

  update customers set cust_name='The Fudds',cust_email='elmer@fudd.com' where cust_id =10005;

  如果要删除指定的列值,如下:

  update customers set cust_email=null where cust_id=10005;

 

三、删除数据

  我们使用delete语句对表中的数据进行删除。

  1、从表中删除特定的行;

  2、从表中删除所有的行;

  delete from customers where cust_id =10006;

  我们可以使用truncate table 语句删除表中所有数据,他的删除速度更快,因为他相当于删除了原来的表,并重新创建一个新表。但是他的操作并不安全。

posted @ 2018-01-26 11:55  彩电  阅读(137)  评论(0编辑  收藏  举报