ps:此随笔基于mysql 5.7.*版本。

已知root账户密码进行登录

格式:mysql [-h地址] [-p端口] -u用户名 -p密码

省略不写地址或端口则自动使用默认。(地址:localhost;端口:3306)

两种方式进行登录。方式1:

方式2:

忘记root账户密码进行登录(修改root密码)

  1. 以管理员身份打开一个cmd。

  2. 检查MySQL服务是否启动,若已启动则先将其停止服务,输入命令:net stop mysql,回车。

  3. 输入命令:E:,回车,再次输入:cd MySQL\MySQL Server 5.7\bin,切换至mysql安装目录的bin目录下。输入命令:mysqld –defaults-file=”E:\MySQL\MySQL_Data\my.ini” –console –skip-grant-tables,回车。

该命令通过跳过用户权限安全检查,开启MySQL服务,这样连接MySQL时,可以不用输入密码。此时已经开启MySQL服务,保留这个cmd窗口。

注:这里笔者修改了MySQL配置文件my.ini中basedir和datadir各自的路径。

  1. 同样使用管理员身份,另起一个cmd窗口,尝试连接MySQL。输入命令:mysql -uroot -p,回车,随后出现:Enter password:,这里不用输入密码,直接回车,出现登录成功的信息。

  1. 执行命令来重置root账户密码:update mysql.user set authentication_string=password(‘新密码’) where user=’root’;,回车。

  2. 刷新权限。输入命令:flush privileges;,回车。

  3. 然后退出,重新登录。输入命令:quit或exit,回车。

  4. 此时关闭之前的cmd窗口。执行命令来启动MySQL服务:net start mysql,回车。

  5. 再次尝试连接mysql。输入命令:mysql -uroot -p,回车。出现输入密码提示,输入新密码即可登录。

  1. 至此,忘记root账户密码问题解决。

内置函数数学函数

  • ABS(x):绝对值

  • SIGN(x):返回x的符号,x是负数、0、整数分别返回-1、0、1

  • CEIL()/CEILING(x):向上取整

  • FLOOR(x):向下取整

  • ROUND(x):四舍五入取整

  • MOD(x,y):求余操作(x mod y等同于x%y)

  • LOG(x):返回自然对数(以e为底的对数)

  • LOG10(x):返回以10位为底的对数

  • PI():获取圆周率

  • POW(x,y):乘方操作(x^y)

  • SQRT(x):返回x的平方根

  • RAND():返回0~1的随机数

  • TRUNCATE(x,y):返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)

  • SIN(x):正弦值(参数是弧度)

  • COS(x):余弦值(参数是弧度)

  • RADIANS(x):将角度转换为弧度

  • DEGRESS(x):将弧度转换为角度

日期时间函数

  • NOW()/CURRENT_TIMESTAMP()/LOCALTIME()/SYSDATE()/LOCALTIMESTAMP():返回当前日期和时间

  • CURDATE/CURRENT_DATE():返回当前日期

  • CURTIME()/CURRENT_TIME():返回当前时间

  • TIME_TO_SEC(t):将时间t转换为秒

  • SEC_TO_TIME(t):将以秒为单位的时间s转换为时分秒的格式

  • DATEDIFF(D1,D2):计算日期d1->d2之间相隔的天数

  • ADDDATE(d,n):计算起始日期d加上n天的日期

  • SUBDATE(d,n):日期d减去n天后的日期

  • ADDDATE(d,INTERVAL expr type):计算起始日期d加上一个时间段后的日期

  • SUBDATE(d,INTERVAL expr type):日期d减去一个时间段后的日期

字符串函数

  • CHAR_LENGTH(s):返回字符串s的字符数

  • CONCAT(s1,s2,…):将字符串s1,s2等多个字符串合并为一个字符串

  • CONCAT_WS(x,s1,s2):同CONCAT(s1,s2,…)函数,但是每个字符串之间要加上x(x作为分隔符)

  • UPPER(s)/UCAASE(s):将字符串s的所有字母变成大写字母

  • LOWER(s)/LCASE(s):将字符串s的所有字母变成小写字母

  • LEFT(s,n):返回字符串s的前n个字符

  • RIGHT(s,n):返回字符串s的后n个字符

  • TRIM(s):去掉字符串s开始和结束处的空格

  • TRIM(s1 FROM s):去掉字符串开始出和结尾处的字符串s1

  • REPEAT(s,n):将字符串s重复n次

  • REPLACE(s,s1,s2):将字符串s2替换字符串s中的字符串s1

  • STRCMP(s1,s2):比较字符串s1和s2

聚合函数

  • COUNT():用来统计记录的条数

  • SUM():求和

  • AVG():求平均值

  • MAX():求最大值

  • MIIN():求最小值

条件判断函数

  • IF(expr,v1,v2):如果表达式expr成立,返回结果v1;否则,返回结果v2

  • IFNULL(v1,v2):如果v1的值不为NULL,则返回v1;否则,返回v2

  • CASE

系统信息函数

  • VERSION():返回数据库的版本号

  • USER()/SYSTEM_USER()/SESSION_USER()/CURRENT_USER()/CURRENT_USER:返回当前用户

  • CONNECTION_ID():返回服务器的连接数

其他常用函数

  • BIN(x):返回x的二进制编码

  • OCT(x):返回x的八进制编码

  • HEX(x):返回x的十六进制编码