輸入查詢,確保已經連線到伺服器。這樣做本身並不選擇要使用的任何資料庫。
看乙個簡單的查詢。要求伺服器告訴您其版本號和當前日期。
mysql>
select version(),
current_date;+
---------------------------+--------------+
| version()|
current_date|+
---------------------------+--------------+
|10.3
.27-mariadb-
0+deb10u1 |
2021-03
-09|+
---------------------------+--------------+
1row
inset
(0.000 sec)
mysql>
注意一些事情:
下面的一些查詢是等效的。
mysql>
select version(),
current_date
;mysql>
select version(),
current_date
;mysql>
select version(),
current_date
;
看乙個例子,說明可以將 mysql 用作簡單的計算器:
mysql>
select sin(pi()/
4),(
4+1)
*5;+
------------------+---------+
| sin(pi()/
4)|(
4+1)
*5|+
------------------+---------+
|0.70710678118655|25
|+------------------+---------+
1row
inset
(0.02 sec)
也可以一行輸入多個語句,只要用分號來結束就行。
select version();
select
now();
+---------------------------+
| version()|
+---------------------------+
|10.3
.27-mariadb-
0+deb10u1 |
+---------------------------+
1row
inset
(0.000 sec)
+---------------------+
|now()
|+---------------------+
|2021-03
-0916:31:44|+
---------------------+
1row
inset
(0.000 sec)
或者也可以寫多行語句,最後分號結束就行。
select
->
user()
->,-
>
current_date;+
----------------+--------------+
|user()
|current_date|+
----------------+--------------+
| root@localhost
|2021-03
-09|+
----------------+--------------+
1row
inset
(0.000 sec)
提示從 mysql>變為的方式->。這就是 mysql表示尚未看到完整語句並正在等待其餘語句的方式。說明可以在下一行接著寫沒寫完的語句。
如果不想執行輸入過程中的查詢,那麼可以使用 ctrl+c 來取消
mysql>
select
->
user()
-> \c
mysql>
mysql>鍵入後\c,它會切換回 ,提供反饋以指示mysql已準備好進行新查詢。
一些 mysql 所處狀態的含義。
提示意義
mysql>
準備進行新查詢
->
等待多行查詢的下一行
'>
等待下一行,等待以單引號(』)開頭的字串的完成
">
等待下一行,等待以雙引號(")開頭的字串的完成
`>
等待下一行,等待以反引號開頭的識別符號的完成
/*>
等待下一行,等待以開頭的注釋的完成 /*
我們平時寫**的時候總是會忘記分號,然後就會有提示 -> ,
mysql>
select
user()
->
這個時候只需要加乙個分號即可。
mysql>
select
user()
->;+
----------------+
|user()
|+----------------+
| root@localhost|+
----------------+
您看到』>或 ">提示時,表示您已經輸入了包含以』 或"引號字元開頭的字串的行,但尚未輸入終止該字串的匹配引號。這通常表明您無意中省略了引號字元。例如:
mysql>
select
*from my_table where name =
'smith and age < 30;
'>
最簡單的解決辦法是取消查詢。但是,\c在這種情況下,您不能僅輸入內容,因為mysql會將其解釋為所收集字串的一部分。而是輸入右引號(因此mysql知道您已經完成了字串),然後鍵入\c:
mysql>
select
*from my_table where name =
'smith and age < 30;
'> '\c
mysql>
3mysql查詢擷取分析
explain 分析 1觀察,至少跑一天,看看生產的慢sql情況 2開啟慢查詢日誌,設定闕值,比如超過5秒鐘的就是慢sql,並將它抓取出來 3explain 慢sql分析 4show profile 5運維經理 or dba,進行sql資料庫伺服器的引數調優 總結 1慢查詢的開啟並捕獲 2expla...
mysql高階3 MYSQL高階
檢視 create view v employee asselect a.empid,a.empname,a.gender,b.deptname from employee a left join dept b on a.deptid b.deptid select from v employee ...
3 mysql分庫分表
垂直拆分 垂直拆分就是要把表按業務模組劃分到不同資料庫表中,乙個大的專案拆分成若干個小專案,將表根據業務放至在不同的業務資料庫中.非常有利於進行區域性的優化和治理,保障核心模組的穩定性 垂直拆分用於分布式場景.當乙個 還在很小的時候,只有小量的人來開發和維護,各模組和表都在一起,當 不斷豐富和壯大的...