写点什么

mysql 的一些基础知识

  • 2022-11-13
    河南
  • 本文字数:1623 字

    阅读完需:约 5 分钟

mysql 基础知识

基础知识

注释

    @       #       -- (杠杠空格) (注入中经常用到的)    /* .....  */    /*! .... */ 
复制代码

information_schema

在 MySQL 版本 5.0 之后,产生了一个虚拟的数据库 information_schema。


information_schema:                  该数据表存储了mysql数据库中的所有数据库的库名information_schema.tables:     该数据表存储了mysql数据库中的所有数据表的表名information_schema.columns:    该数据表存储了mysql数据库中的所有列的列名

information_schema 元数据数据库(库名、表名、字段名)|\___tables 存储了所有的表的名字| || \__table_schema 表所属数据库的名字| || \__table_name 表的名字| \__columns 存储了所有字段的名字 | \__column _name 字段的名字 | \__table_name 字段所属表的名字 | \__table_schema 字段所属库的名字
复制代码

mysql 函数

version():                    查询数据库的版本          user():                       查询数据库的使用者       database():                   数据库system_user():                系统用户名session_user():               连接数据库的用户名current_user:                 当前用户名load_file():                  读取本地文件@@datadir:                    读取数据库路径@@basedir:                    mysql安装路径@@version_complie_os:         查看操作系统length()                       返回字符串的长度substring()                    截取字符串substr()                       截取字符串mid()                          截取字符串left()                         从左侧开始取指定字符个数的字符串concat()                       没有分隔符的连接字符串concat_ws()                    含有分割符的连接字符串group_conat()                  连接一个组的字符串ord()                          返回ASCII 码ascii()                        返回ASCII 码hex()                          将字符串转换为十六进制unhex()                        hex 的反向操作md5()                          返回MD5 值sleep()                        睡眠时间为指定的秒数if(true,t,f)                   if 判断
复制代码





    *条件查询*
    - ``` limit 0,1 看第一行 select host,id,name from mysql.user limit 1; 看第一行 select host,id,name from mysql.user limit 2: 看前二行 select host,id,name from mysql.user limit 2,3; 第二行(不包括)往下三行 select * from users where id=5 查找users表中id字段值等于5的那一行数据 select * from users where id=5 limit 0,2 查找users表中id字段值等于5的那一行数据,where后面加了两个限定参数第一个是显示第五行第二个是显示第一行和第二行,程序以id=5这个限定条件为先,相当于此时的limit0,2没起作用
    复制代码

    远程登陆

    mysql 默认不允许用户进行远程登录,如下进行远程登录显示拒绝用户登录。(用户被禁止远程登录和用户名密码错误的提示一样,所以根据错误并不能判断是否是禁止远程登录还是口令错误。并且扫描端口的状态都为开放的状态)


    远程端口 3306


    解决办法如下:


    1. 进入到 mysql 命令行中

    2. 执行如下


          grant all privileges on *.* to 自己的用户名@'%' identified by '远程登录密码';       ——>      grant all privileges on *.* to root@'%' identified by 'root';       *.*   为数据库名称.表名 ,表示赋予用户操作服务器上所有数据库所有表的权限      '%'   表示从任何地址连接。或者可以是localhost,也可以是ip地址、机器名字、域名      grant all privileges         赋予所有权限
    复制代码


    1. 执行


      flush privileges;
    复制代码


    连接成功

    发布于: 刚刚阅读数: 3
    用户头像

    还未添加个人签名 2022-11-01 加入

    还未添加个人简介

    评论

    发布
    暂无评论
    mysql的一些基础知识_MySQL_我是一个茶壶_InfoQ写作社区