mySql - 連接,建立數據庫,建立表

寫在最前面:不一樣的MySql的版本,相應的sql命令語句不是徹底同樣的,個人數據庫是版本是5.7.18.mysql

0: 數據庫相關基本概念介紹sql

數據庫 vs 數據庫管理系統

當咱們說到數據庫時,可能會討論到MySql, Oracle, PostgreSQL. 實際上,更準確地說法是他們都是DBMS(Database Management System)。數據庫的存儲,檢索,管理等全部的功能都是由DBMS來完成的。數據庫

服務端 vs 客戶端

當咱們使用數據庫管理系統時,咱們同時須要服務端和客戶端。下面以一個查詢爲例。socket

客戶端:咱們想要查詢數據的時候,須要在一個地方書寫咱們的sql語句,這個地方就是客戶端。可是這個語句的執行,並不在客戶端。客戶端會把這個語句發送到服務端。命令行

服務端:服務端接收到客戶端發來的查詢請求,執行查詢,拿到結果,把結果返回給客戶端。code

服務端和客戶端經過socket通訊,具體是什麼socket會根據不一樣的狀況不同,你也能夠本身指定socket的類型。例如:--protocol=TCPorm

咱們以MySql爲例,當咱們安裝完MySql的時候,實際上安裝了服務端。固然,會附贈一個服務端(MySql的命令行實用程序)。可是,有不少別的客戶端供你選擇,好比你能夠選圖形界面化的MySql客戶端(MySql Workbench)。server

1: 安裝MySql
能夠到MySql的官網下載安裝包,也能夠在命令行使用homebrew安裝,這裏不展開。
2: 啓動MySqlhomebrew

mysql.server start

在從客戶端連接到服務端以前,先要啓動MySql ci

3: 連接到MySql
要使用MySql,首先要連接到MySql。
連接到一個數據庫服務端須要提供如下4個信息:

1: 服務端所在的主機名(host),本地爲localhost
2: 端口
3: 用戶名
4: 密碼(若是須要密碼的話)

在命令行裏須要執行如下命令:

mysql -h myhost -u myname -p

由於我是在本身的電腦上安裝了MySql的服務端,因此下面以連接到本地MySql爲例:

mysql h localhost -u root

若是連接成功,這時候會看到mysql命令行客戶端:

mysql>

我是採用homebrew安裝的,安裝好以後默認root用戶是沒有密碼的,因此這裏沒有使用-p。可是,咱們能夠本身給root這個用戶名設置一個密碼:

mysql> UPDATE mysql.user set authentication_string = PASSWORD('your_password') where User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;

以上兩個步驟,就成功地給root用戶設置了一個密碼。下次再從新使用root用戶登錄的時候就必須帶上密碼了。

4: 顯示數據庫

mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

使用show databases;能夠顯示全部的數據庫,這裏顯示了安裝MySql以後默認的2個數據庫。

注意:sql語句必定要以分號來表示一個命令的結束。

5: 建立數據庫

mysql> create database crashcourse;

這樣咱們就成功地建立了一個名爲crashcourse的數據庫。如今這個數據庫是空的。接下來咱們就往數據庫裏面建立一張表。
6: 建立表
一張表必定是從屬於某個數據庫的,因此,在我門建立表以前,先選定咱們即將要操做的數據庫。能夠經過命令:

use 數據庫的名字;

其實在進行任何基於某個數據庫的操做前,先選定一個數據庫是很是正確和方便的事情。這裏以咱們剛剛建立好的crashcourse這個數據庫爲例:

mysql> use crashcourse;

建立一張表的命令爲:

create table 表名稱(列聲明);

接下來咱們以建立一張商品貨物表爲例:

Create table products (

product_id varchar(20) not null,

product_name varchar(20) not null,

product_price decimal(7, 2) not null,

vendor_id varchar(20) not null,

primary key(product_id)

);

7: 顯示錶
顯示一個數據庫的有哪些表,使用的sql命令是:

show tables from databse_name;

若是在這以前你已經選定了一個數據庫(經過use database_name命令),則只須要:

show tables;

咱們以我門剛剛建立的crashcourse數據庫和products表爲例:

mysql> show tables from crashcourse;
+-----------------------+
| Tables_in_crashcourse |
+-----------------------+
| products              |
+-----------------------+
1 row in set (0.00 sec)

8: 顯示列

mysql> show columns from products;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| product_id    | varchar(20)  | NO   | PRI | NULL    |       |
| product_name  | varchar(20)  | NO   |     | NULL    |       |
| product_price | decimal(7,2) | NO   |     | NULL    |       |
| vendor_id     | varchar(20)  | NO   |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

至此,咱們就建立了
一個數據庫:crashcourse,
在crashcourse裏面建立了一張表:products,
給products表建立了4列:product_id,product_name, product_price, vendor_id.

可是,如今我麼們的表裏面尚未任何的數據,在下一篇文章裏,咱們來往表裏面添加數據。

相關文章
相關標籤/搜索