轉到===>數據庫基礎操作大全可查看數據庫操作基礎。
歡迎界面
在登錄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中錯誤的序號。