MySQL 資料庫簡單操作
對於想要從事或愛好mysql相關工作的童鞋們,有必要掌握在命令列下對mysql實現一些簡單的操作。本文從描述了如何登入到mysql資料庫伺服器,如何在mysql提示符下發布命令,建立資料庫,以及執行一些簡單的DML操作。
1、串連到與退出mysql
為了串連mysql資料庫伺服器,當調用mysql時,通常需要提供一個MySQL使用者名稱並且很可能需要一個密碼。如果伺服器
運行在登入伺服器之外的其它機器上,還需要指定主機名稱。聯絡管理員以找出進行串連所使用的參數 (即,串連的主機
、使用者名稱和使用的密碼)。知道正確的參數後,可以按照以下方式進行串連:
shell> mysql -h host -u user -p
mysql> select version(),current_date;
+---------------------------------------+--------------+
| version() | current_date |
+---------------------------------------+--------------+
| 5.6.17-enterprise-commercial-advanced | 2014-04-28 |
+---------------------------------------+--------------+
1 row in set (0.03 sec)
--在允許匿名登入到本機伺服器的情下可以直接在shell提示符下直接輸入mysql即可實現登入
mysql> #提示符告訴你mysql準備為你輸入命令。
shell> mysql
--輸入分號表示結束命令輸入並執行該命令
--成功地串連後,可以在mysql>提示下輸入QUIT (或\q ,exit)隨時退出
mysql> QUIT
Bye
--在Unix中,也可以按control-D鍵斷開伺服器。
--------------------------------------分割線 --------------------------------------
Ubuntu 14.04下安裝MySQL
《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF
Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL
Ubuntu 14.04下搭建MySQL主從伺服器
Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集
Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb
MySQL-5.5.38通用二進位安裝
--------------------------------------分割線 --------------------------------------
2、發布命令
mysql執行命令可分為非互動與互動模式
a) 非互動模式
非互動模式,也叫批模式,也就是將想要啟動並執行命令放在一個檔案中,然後告訴mysql從檔案讀取它的輸入。
通常用於返回資料量較大,以及批量管理,執行特殊指令碼啟動並執行情形。
shell> mysql <query.sql
[root@linux1 ~]# more query.sql
show databases;
use cnfo
select * from tb_tmp;
[root@linux1 ~]# mysql -u root -pmysql <query.sql
Warning: Using a password on the command line interface can be insecure.
Database
information_schema
cnfo
mysql
performance_schema
test
name sex birth
Jack F 2014-04-28
John M 2013-04-28
--也可以使用下面的2種方式來執行批
mysql > source /<dir>/filename
mysql > \./<dir>/finename
--如下面的示範
[root@linux1 ~]# mysql -u root -pmysql
mysql> source query.sql
+--------------------+
| Database |
+--------------------+
| information_schema |
| cnfo |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
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
+------+------+------------+
| name | sex | birth |
+------+------+------------+
| Jack | F | 2014-04-28 |
| John | M | 2013-04-28 |
+------+------+------------+
2 rows in set (0.00 sec)
也可以在shell模式下直接執行SQL,如下面的方法:
-e or --execution=option
shell>mysql -e "SQL cmd1;SQL cmd2;.."
shell>mysql --execute="SQL cmd1;SQL cmd2;.."
b) 互動模式
互動模式就是直接在mysql提示符下發布命令並執行命令。
如下操作,不區分大小寫,輸入斷行符號後會得到命令執行的結果,即為互動模式。
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;
--簡單計算
mysql> select power(2,3),(5-1)*4;
+------------+---------+
| power(2,3) | (5-1)*4 |
+------------+---------+
| 8 | 16 |
+------------+---------+
1 row in set (0.00 sec)
--分號分割多行
mysql> select version();select current_date;
+---------------------------------------+
| version() |
+---------------------------------------+
| 5.6.17-enterprise-commercial-advanced |
+---------------------------------------+
1 row in set (0.01 sec)
+--------------+
| current_date |
+--------------+
| 2014-04-28 |
+--------------+
1 row in set (0.00 sec)
--換行輸入命令
--注,可以輸入空行
mysql> select user(),
-> current_date;
+----------------+--------------+
| user() | current_date |
+----------------+--------------+
| root@localhost | 2014-04-28 |
+----------------+--------------+
1 row in set (0.00 sec)
--取消執行當前命令
mysql> select current_date()\c
更多詳情見請繼續閱讀下一頁的精彩內容: