ps:此隨筆基於mysql 5.7.*版本。 已知root賬戶密碼進行登錄 格式:mysql [-h地址] [-p埠] -u用戶名 -p密碼 省略不寫地址或埠則自動使用預設。(地址:localhost;埠:3306) 兩種方式進行登錄。方式1: 方式2: 忘記root賬戶密碼進行登錄(修改r ...
ps:此隨筆基於mysql 5.7.*版本。
已知root賬戶密碼進行登錄
格式:mysql [-h地址] [-p埠] -u用戶名 -p密碼
省略不寫地址或埠則自動使用預設。(地址:localhost;埠:3306)
兩種方式進行登錄。方式1:
方式2:
忘記root賬戶密碼進行登錄(修改root密碼)
-
以管理員身份打開一個cmd。
-
檢查MySQL服務是否啟動,若已啟動則先將其停止服務,輸入命令:net stop mysql,回車。
-
輸入命令: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各自的路徑。
- 同樣使用管理員身份,另起一個cmd視窗,嘗試連接MySQL。輸入命令:mysql -uroot -p,回車,隨後出現:Enter password:,這裡不用輸入密碼,直接回車,出現登錄成功的信息。
-
執行命令來重置root賬戶密碼:update mysql.user set authentication_string=password('新密碼') where user='root';,回車。
-
刷新許可權。輸入命令:flush privileges;,回車。
-
然後退出,重新登錄。輸入命令:quit或exit,回車。
-
此時關閉之前的cmd視窗。執行命令來啟動MySQL服務:net start mysql,回車。
-
再次嘗試連接mysql。輸入命令:mysql -uroot -p,回車。出現輸入密碼提示,輸入新密碼即可登錄。
- 至此,忘記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的十六進位編碼