美文网首页
mysql笔记

mysql笔记

作者: 稻香_ | 来源:发表于2017-05-17 10:42 被阅读0次

    1.mysql判断当前数据库是否存在:

    SELECT count( * ) FROM information_schema.TABLES WHERE table_name = 'wx_app_meizu_user_log' AND TABLE_SCHEMA = 'test'

    判断当前数据表是否存在: 如果存在返回1 失败为0

    2.查看当前sql的执行效率:

    利用explain来进行解析和查看

    3.查看当前的mysql状态:

    show status like '%q_cache%';

    4.在select中加条件判断:

    select ref_date,IF(msgid<>'0',COUNT(DISTINCT(msgid)),0) as push_data,sum(target_user) as target_user   from wx_app_meizu_material_articletotal
    GROUP BY ref_date

    5.查看事务:

    show engine innodb status

    6.授权mysql

    grant all privileges on testdb to dba@'localhost'

    授权远程连接访问:

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    7.mysql修改生效:

    FLUSH PRIVILEGES

    8.mysql链接的对象返回为空的问题:

    场景:

    比如有两个链接,$db1和$db2,都是操作同一个指定的ip,并且:用户名和密码一致的情况下,如:

    $db1 = mysql_connect('localhost','user','123456');

    $db2 = mysql_connect('localhost','user','123456');

    这个时候,如果我们需要操作同一个库的时候,选择了db1和db2以后,db2的库会受到影响,导致查不到出具,原因是由于使用了同样的配置,这样在db1链接以后,db2会链接导致一个链接断开,需要进行特殊的设置:

    $db2 = mysql_connect('localhost','user','123456',true);

    注意:

    第四个参数为new_link=true,指定相同的配置使用链接。

    这样设置以后db1使用db1的链接,db2使用db2的链接,互相不影响。

    9.mysql查询输出特定字符:

    SELECT CONCAT("'",1222,"'") as result

    使用MYSQL索引进行关联和联合查询的时候,使用CRC32指定字符串查询;会提高查询效率,对字符串引用有效;

    select xxx from fmb_tikcet where name = CRC32("apple");

    统计联合查询的时候,巧妙运用count(left(**))来进行查询,提高查询效率;

    如:LEFT(city,4)

    10.聚合索引搜索:

    select * from fmb_riddle_invite_info join (select fuid,uid from fmb_riddle_invite_info ) as t1 on (t1.uid=fmb_riddle_invite_info.uid) where  fmb_riddle_invite_info.uid>0 and fmb_riddle_invite_info.fuid=0 limit 1;

    12.DATE_SUB的使用:只要使用针对日期针对未来几天内的一个统计的判断; 巧妙运用intval 20 day  |hour 对时间进行判断。

    11.mysql授权新用户:

    create user  user1   IDENTIFIED by '1234'; 创建新用户

    set password for user1 =password('1234'); 修改密码

    授权相关权限给user1

    grant select,update,delete,insert  on DBproxy.* to user1@localhost identified by '1234';

    flush privileges; //刷新系统权限表

    相关文章

      网友评论

          本文标题:mysql笔记

          本文链接:https://www.haomeiwen.com/subject/tgfdxxtx.html