增加字段:

alter  table  表X  add  province_id int(11)   COMMENT  '省份id' AFTER province DEFAULT 1;

删除字段:

ALTER TABLE 表X DROP COLUMN 字段X

修改字段类型:

ALTER TABLE 表X   ALTER COLUMN  字段X  新类型X

删除数据:

delete from 表X where borough_id=832

更新数据:

    1、更新内容从同表另一字段获取:

    update 表X set keyword=title where keyword is null or keyword='';

      2、更新内容从关联表某字段获取:

      update 表X p set  member_id=

      (select  a.member_id  from 表Y  a WHERE  p.member_id = a.id) where  member_id < 9352

      3、更新一字段,取同表另外两字段之和

        update 表X set dialogue_id=(consignee+sender)

        4、将字段置为空

     update 表X  set real_total = NUll where sell_type = 'cash_on_delivery'

     5、替换某字段数据中指定的部分字符串

     update 表X set content=

     replace(content,'src="/p_w_picpaths','src="http://xxx.xxx.xx/p_w_picpaths') 

     where content like '%src="/p_w_picpaths%'

     6、从一字段中截取部分字符串更新到另一字段:

     update 表X set picture=SUBSTRING_INDEX(big_picture, ';', 1) ;

    函数注释:截取第一个“;”左侧的内容

    7、如果数据后面有多余的逗号,则清除掉

    UPDATE shop_product SET keyword  =  

    LEFT(keyword,char_length( keyword) - 1)  WHERE  RIGHT( keyword,  1 )  =  ','

    函数注释:

    char_length:返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符

    LEFT(str,n)返回字符串str的最左面n个字符。

     RIGHT(str,n):返回字符串str的最右面n个字符。

    8.数据库之间的关联查询和更新

    #shop表和另一数据库关联查询,查询shopid1的记录;

     select * from shop,xxx.society_join sj where shop.join_sq_id=sj.id and shop.id=1;

    #更新shop表的省份,数据来自另一数据库

    update shop set shop.province=(select sj.province from xxx.society_join sj where     shop.join_sq_id=sj.id ) where shop.id=1

   

    9.获取字段中的部分内容并更新到另一个字段;{使用函数SUBSTRING_INDEX();也可以配合函            数SUBSTRING()实现更复杂的匹配}

  X、函数测试:SELECT SUBSTRING_INDEX('www;mysqlcom', ';', 1); #获取;前面的字段串

  A、查询测试:SELECT client_index_picture, SUBSTRING_INDEX(client_big_picture, ';',     1),client_big_picture from product where product.client_big_picture like '%;%' limit 10 ;  

  B、批量更新:update product set client_index_picture=SUBSTRING_INDEX(client_big_picture, ';', 1) ;


分组统计后,按统计结果排序

select s.*  from(  select orders.shop_id,orders.shop_name,shop.shop_owner_email, count(*) as num from orders  left join shop on shop.shop_id=orders.shop_id where orders.pay_time is not null group by orders.shop_id ) s  order by num desc  limit 100