• 转 mysql distinct函数 与 免密码登录 与 查看表的结构


    #########sample 1

    mysql中去重 distinct 用法

     

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段,例如有如下表user:

    用distinct来返回不重复的用户名:select distinct name from user;,结果为:

    这样只把不重复的用户名查询出来了,但是用户的id,并没有被查询出来:select distinct name,id from user;,这样的结果为:

    distinct name,id 这样的mysql 会认为要过滤掉name和id两个字段都重复的记录,如果sql这样写:select id,distinct name from user,这样mysql会报错,因为distinct必须放在要查询字段的开头。

    所以一般distinct用来查询不重复记录的条数。

    如果要查询不重复的记录,有时候可以用group by :

    select id,name from user group by name;

    https://www.cnblogs.com/shiluoliming/p/6604407.html

    #####sample 2

    1、查看标的创建语句

    SHOW CREATE TABLE table_name;

    2、简单查看表结构

    DESC table_name;

    3、查询表结构详细信息——包括列注释

    select * from information_schema.columns where table_schema = 'db' #表所在数据库
    and table_name = 'tablename' ; #你要查的表
    4、查询表结构部分详细信息——包括列注释
    select column_name,
    column_comment from information_schema.columns where table_schema ='db' and
    table_name = 'tablename' ;


    5、查看表的信息

    select table_name,table_comment from information_schema.tables where table_schema = 'db' and table_name ='tablename'

    ————————————————
    版权声明:本文为CSDN博主「qq_42072311」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_42072311/article/details/80600200

    ########sample 3

    利用.my.cnf,安全实现Shell下MySQL免输入密码登录

    2018-06-18 17:22:25 1428次

    blob.png

    MySQL,相信大家都不陌生,平时也可能会在Linux服务器上使用mysql,mysqldump等登录到MySQL服务器进行操作。

    如果直接执行

    mysql/mysqldump -u root -p

    则会提示输入该用户的密码。

    blob.png

    想一想,如果执行该命令的是cron等非交互式的程序,那到这一步就无法继续。

    有人会在-p后接上密码,这是非常不安全的一种做法,万一有用户这时执行ps aux,你的密码就暴露了……

    其实,MySQL官方文档有说明,可以在~/.my.cnf处指定用户的密码。

    .my.cnf的格式如下:

    [client]

    password="MySQL密码"

    user=MySQL用户名

    上面的user一行可以省略,不指定user,则自动以当前Shell登录的用户身份登入mysql。

    把上述代码保存到~/.my.cnf,再次输入mysql(或mysql -u 用户名),mysql-client就会自动读取当前用户的家目录下.my.cnf文件的信息,可以无密码自动登入MySQL。

    cron等非交互式的程序执行mysql,可能不会自动读取~/.my.cnf,或者.my.cnf保存在其他路径或保存为其他文件名时,就需要使用–defaults-file参数手动指定该配置文件的路径了:

    mysql --defaults-file=/folder1/folder2/filename -u 用户名

    blob.png

    最后说一句:一定要保证.my.cnf别的用户/组不能读取(chmod 400)

  • 相关阅读:
    Vue GET xxxx/sockjs-node/info?t=1573626343344 net::ERR_CONNECTION
    NavigationDuplicated Navigating to current location (“/XXX”) is not allowed
    node-sass报错(Node Sass could not find a binding for your current environment)
    DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead
    VSCODE 中.art文件识别为html文件
    gulp4.0构建任务
    gulp报错The following tasks did not complete
    setTimeout()
    格式化日期
    作业1.3
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/11990273.html
Copyright © 2020-2023  润新知