SQL语法集合

查询

     select   *   from table limit 0,10     取0位置后面的10条记录

     limit   0     表示从第一条记录开始   起始位置从0开始

             10    表示取多少条记录

新增

    insert into table(列1,列2)

    insert  into table(列1,列2) values(值1,值2),(值3,值4),(值5,值6)

    insert  tnto  tb2(name,age)  select  name,  age  from  tb1; 

 

修改

   update table set name='aaa',age=100  where id>10

 

删除

   delete from table 

   delete from table where id >1 or  name='aa'

 

排序

    select   *   from   table   order by   id   desc;

    select   *   from   table   order by   age   desc,  id   asc;

 

分组(group by)

      

      按part_id分组查询的意思是:只要是part_id相同的记录就会合并成一条数据,但是合并后是显示ID为801的记录还是ID为601的记录,数据库是无法决定的.所以必须在sql语句中手动指定以哪行记录作为显示结果.max(id) 相当于告诉数据库显示801,min(id) 显示601.sum(id) 求id的和,avg(id)求id的平均值.count(id)求行数

        select count(id),name from table group by name having count(id) >5

        select count(id) ,name from table where id>0 group by name having count(id) > 5

       对于聚合函数的结果进行二次筛选的时候,必须要使用having

 

 

备份和恢复

   mysqldump工具:客户端命令,通过mysql协议连接至mysqld服务器进行备份   

   mysqldump常见选项:

          -A, --all-databases 备份所有数据库,含create database

          -B , --databases db_name…  指定备份的数据库,包括create database语句

          -E, --events:备份相关的所有event scheduler

          -R, --routines:备份所有存储过程和自定义函数

         --triggers:备份表相关触发器,默认启用,用--skip-triggers,不备份触发器

         --master-data[=#]: 此选项须启用二进制日志     

              1:所备份的数据之前加一条记录为CHANGE MASTER TO语句,非注释,不 指定#,默认为1     

              2:记录为注释的CHANGE MASTER TO语句 

              此选项会自动关闭--lock-tables功能,自动打开-x | --lock-all-tables功能(除 非开启--single-transaction) 

          -F, --flush-logs :备份前滚动日志,锁定表完成后,执行flush logs命令,生成新的 二进制日志文件,配合-A 或 -B 选项时,会导致刷新多次数据库。建议在同一时刻 执行转储和日志刷新,可通过和--single-transaction或-x,--master-data 一起使 用实现,此时只刷新一次日志

         --compact   去掉注释,适合调试,生产不使用

        -d, --no-data   只备份表结构

        -t, --no-create-info  只备份数据,不备份create table 

        -n,--no-create-db   不备份create database,可被-A或-B覆盖

        --flush-privileges   备份mysql或相关时需要使用

        -f, --force          忽略SQL错误,继续执行

        --hex-blob 使用十六进制符号转储二进制列(例如,“abc”变为0x616263), 受影响的数据类型包括BINARY, VARBINARY,BLOB,BIT

       -q, --quick       不缓存查询,直接输出,加快备份速度 

   InnoDB建议备份策略 

           mysqldump  –uroot  –A  –F  –E  –R  --single-transaction --master-data=1 -flush-privileges  --triggers --hex-blob >$BACKUP/fullbak_$BACKUP_TIME.sql

           mysqldump -A -F --single-transaction --master-data=1 > /backup/all.sql

   MyISAM建议备份策略 

          mysqldump  –uroot  –A  –F  –E  –R  –x --master-data=1 --flush-privileges  -triggers --hex-blob >$BACKUP/fullbak_$BACKUP_TIME.sql 

   恢复备份数据库

       在mysql命令中直接执行备份的sql脚本即可恢复备份的数据

       mysql <   /backup/all.sql

 

转载于:https://www.cnblogs.com/yxh168/p/9184958.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值