這是個啥啊(MySQL基礎操作時一些疑問解答)

轉到===>數據庫基礎操作大全可查看數據庫操作基礎。

歡迎界面

在登錄mysql後,都會彈出一段歡迎和說明

[root@linux ~]# mysql -uroot -ptest.com
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.13 Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

第一段:mysql:[警告]在命令行界面上使用密碼可能是不安全的。
這個是因爲在shell環境中輸入mysql管理員密碼不安全,所以彈出一條提示

第二行段:歡迎使用MySQL監視器。命令以;結尾;或\ g。
這個是命令結束符,以;或\G結尾,如果以\G結尾,是按行輸出,如同以下格式

mysql> show databases\G
*************************** 1. row ***************************
數據1
*************************** 2. row ***************************
...

第三段:客戶端連接ID,記錄了MySQL服務目前爲止的連接次數,每個新連接都會自動加1,我的就是11次連接。

第四段:MySQL服務器版本說明,像我的就是MySQL8.0.13的源代碼版本。

第五段:版權聲明,多達數命令行中都有版權聲明,例如:windows中的DOS。MySQL中說的就是版權所有© 2000, 2018, Oracle和/或其附屬公司。保留所有權利。

第六段:關於所屬公司的說明,甲骨文是甲骨文公司和/或其註冊商標子公司。其他名稱可能是其各自的商標的主人。

第七段:命令幫助,輸入“help;”或“\h”以尋求幫助。鍵入“\c”以清除當前輸入語句。

數據庫命令行

mysql> 

這個很熟悉吧,命令行嘛,在其後面輸入SQL語句,然後加上結束符號;或\G,然後回車執行。

語句成功提示

當你輸入完成一條正確的SQL語句後,都會彈出一條執行成功的提示

Query OK, 1 row affected (0.11 sec)

疑問來了,爲什麼創建或刪除時,也會彈出這個查詢OK的字樣,而不是create OK,drop OK。其實這是MySQL的一個特點,所有的DDL和DML(不包括SELECT)操作執行成功後都顯示“Query OK”,這裏理解爲執行成功就可以了。

“1 row affected”:表示操作隻影響了數據庫中的一行記錄。

“(0.11 sec)”:記錄了操作執行的時間

如果語句執行錯誤,則會輸出ERROR字樣,語句不會執行。

讀取表信息提示

不清楚這是什麼?你仔細看看,是不是這個

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

提示讀取庫和表內容,可以使用-A將其關閉,使其更快的啓動。

直接-A就可以了嗎,不不不,你要退出數據庫,在登錄的使用加上此選項。

mysql -u root -ptest.com -A
...
mysql> use test;
Database changed

這樣提示信息就莫得了。

查看錶詳細內容

雖說使用desc可以查看錶結構,但更詳細還得使用show create table 表名啊,不過查看起來不太放便的樣子,我們可以讓其按行的方式顯示。

mysql> show create table staff;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                          |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| staff | CREATE TABLE `staff` (
  `id` int(20) DEFAULT NULL,
  `name` char(40) DEFAULT NULL,
  `age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

直接在語句結尾加上\G即可。

mysql> show create table staff\G
*************************** 1. row ***************************
       Table: staff
Create Table: CREATE TABLE `staff` (
  `id` int(20) DEFAULT NULL,
  `name` char(40) DEFAULT NULL,
  `age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

解讀:
Table:表名
Create Table:創建表名命令
ENGINE:存儲引擎
CHARSET:字符集

報錯提示

平時輸入錯誤幾條語句還是很正常的,這個時候要能知道,到底是哪裏的錯誤。

mysql> ls;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ls' at line 1

錯誤1064(42000):你有一個錯誤的SQL語法;檢查MySQL服務器版本對應的手冊中第1行“ls”附近使用的語法是否正確。

mysql> create database test;
ERROR 1007 (HY000): Can't create database 'test'; database exists

錯誤1007 (HY000):無法創建數據庫“測試”;數據庫存在

mysql> create table staff;
ERROR 1113 (42000): A table must have at least 1 column

錯誤1113(42000):一個表必須至少有一個列

mysql> insert staff (6,,66);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6,六,66)' at line 1

錯誤1064(42000):你有一個錯誤的SQL語法;檢查手冊對應於你的MySQL服務器版本的語法使用附近的6六,66)在行1

等等,這些都是常見錯誤,你可以看到,這些錯誤都有ERROR字樣,並且後面帶有一串數字,這就是MySQL中錯誤的序號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章