標籤:存在 bst character 重新安裝 輸入 展現 檔案的 install 第一個
一, MySQL 的安裝於配置
我是通過百度雲端硬碟的方式下載的。建議登入百度雲終端,然後點擊下面的連結,選擇要安裝的版本,解壓安裝。
http://www.h2ero.cn/pan/share/17cde6_aWlxjeu.html
(1)安裝前準備
解壓過後把mysql檔案夾放到指定的檔案目錄下。我因為在虛擬機器中只配置了一個盤符,所以直接放置在了C盤下。建議放置到其他盤符。
另外如果選擇的是免安裝版本的話,壓縮過後檔案夾的名稱就叫做mysql.如果不是免安裝版本那麼後面會帶有不同的版本號碼以及伺服器版本號碼。
(2)配置環境變數
在mysql-5.6.24-winx64的bin目錄下有很多.exe檔案。我們是通過mysqld.exe檔案對mysql資料庫進行安裝的。如。
安裝方法,我們這裡通過命令列的方式安裝,後續更新方法。(注意:不要直接雙擊mysql.exe直接安裝)
另外,為了方便通過命令列不用每次先進入bin目錄然後在對其進行調用,建議先配置環境變數。這樣每次在調用mysql時可以直接指向該目錄。環境變數的配置如。
(3)配置my.ini設定檔
在mysql-5.6.24-winx64解壓過後目錄下應該有個default.ini檔案如。這個是mysql的設定檔,我們需要手動對其進行一些設定後才可以安裝mysql,不然直接安裝mysql服務會不能正常啟動。
如果沒有這個檔案,建議手動建立my.ini檔案。
上面顯示的是系統自動給我們配置的default.ini檔案。這裡建議直接選用這個檔案在其基礎上來編輯我們的my.ini設定檔。如果怕編輯時出錯,建議事先先備份一下這個defalut.ini檔案。
下面是my.ini檔案的具體內容。
注釋:
skip-grant-tables 這條語句是代表當mysql資料庫登入的時候對root帳號設定空密碼直接跳過使用的意思。當然也可以事前設定root以及其他登入帳號的密碼。這裡因為圖方便直接配置空密碼登入。
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 選擇sql模式,這裡建議配置成NO_AUTO_CREATE_USER以及NO_ENGINE_SUBSTITUTION。不然在接下來學習mysql語句的時候
會發現當我們用到insert語句對其進行插入table條目時,會出現報錯。這個報錯資訊以及報錯原因此處不具體解釋。
(4)命令列安裝
mysqld install
注意: 我們是通過bin目錄下的mysqld.exe進行的安裝而不是mysql.exe。所以在敲命令列的時候一定別敲成 mysql install。
因為我已經安裝好了mysql資料庫,因此命令列提示為已存在。如果是第一次安裝顯示的應該是 install successfuly。
安裝過後我們再通過命令列輸入 services.msc開啟我們windows 的服務視窗會發現多了一個mysql 服務。為Automatic Started狀態。
剛安裝好mysql 的服務為Automatic狀態並非started。如果想要啟動該服務。繼續輸入 net start mysql 命令即可。
補充:如果net start mysql 出現 error:1067 或者是 error: 2 的報錯,肯定是my.ini配置的時候出錯。
建議重新設定my.ini。也可以參考下列連結來進行排錯處理。我安裝的時候出現過這2種報錯,最終解決方案是
先通過sc delete mysql 刪除了mysql服務。然後重新拿default.ini在其基礎上編輯了my.ini檔案然後重新安裝mysql 服務最後重新啟動服務後成為started狀態。
https://jingyan.baidu.com/article/d5c4b52bee6e69da560dc5ec.html
二, MySQL 的基本操作
(1)登入mysql 資料庫
我們是通過以下文法對mysql資料庫進行登入的。具體操作如下也可以參照圖片中的內容。
當然 -h localhost 或者 -h 127.0.0.1都是指標對本機進行登入。如果mysql裝在其他伺服器上需要指定物件服務器路徑
文法: mysql -h 伺服器名 -u 登入賬戶名 -p 密碼
(2)建立我的第一個mysql資料庫
對於mysql資料庫的建立我們是通過mysql 命令列中的create命令進行建立的。具體文法如下。
當我們建立完資料庫後,可以通過show databases;的命令來進行查看。
文法: create database 資料庫名;
(3) 選擇資料庫
當我們在使用show databases;命令後會發現系統把當前所有的mysql database全部列舉出來了。也包含了系統自動建立的預設資料庫。如test。
但是當我們需要對某一個資料庫進行指定的時候需要通過命令選中要選擇的該資料庫。這個命令為use具體文法如下。
文法: use 資料庫名;
(4)建立資料表
在一個database中可以有很多資料表,我們平時也是通過資料表來對資料進行儲存的。那麼資料表中分為儲存不同類型的資料類型。
對於不同類型的資料,在儲存時要對其指定資料類型以及格式。具體操作如下。
文法:creat table 資料表名([參數,類型,comment等]); //參數中只能設定一個主鍵(primary key)
注釋:(1) primary key 主鍵 (2) default 預設值 (3) unique key 允許為空白
注意事項: 因為表中輸入有中文,所以在輸入代碼之前需要先設定以下編碼格式 utf-8
create database my_Home character set utf8 collate utf8_general_ci;
建立完資料表後,可以通過show tables;語句進行查看。但是事先必須先use database名。
(5)資料表的查看
對於資料表以及資料表中資料的查看分為2種不同的方法。下面我們一一來展現。
方法一:show columns from 資料庫名.資料表名;
方法二:describe 資料庫名.資料表名;
無論選擇那一種方法都可以。但是這裡要說的是describe語句除了可以把table列舉出來。還可以指定table中的values來進行列舉。如所示。
當values過多,想要過濾語句的時候desciribe更加的方便。
(6)資料表結構修改以及資料表條目的修改
資料表結構的修改
文法: alter table 資料表名 rename 更改後的資料表名
注意事項:
在修改資料表結構時,一定先使用use語句先選擇一個資料庫。
資料表欄位資訊的修改
文法: alter table 資料表名 change 欄位名 更改後欄位名 [參數];
資料表欄位類型資訊的修改
文法: alter table 資料表名 change 欄位名 欄位名 [參數(更改要更改的參數)]
注釋:對比上下語句會發現對於欄位name中的Type資訊。varchar(10)已經換成了char(15)了。類型也從varchar變成了char。
資料表修改欄位預設值 (用法同上)
文法:alter table 資料表名 change 欄位名 欄位名 [參數 default ‘新指定的資訊名‘];
例子: alter table moher change major major varchar(50) default ‘Electronic Engineering‘ comment ‘subject‘;
(6)添加資料表中欄位資訊
文法: alter table 資料表名 add 欄位名 [參數]
例子: alter table mother add address varchar(50) not null comment ‘home_address‘;
三, MySQL 資料表欄位的刪除及資料表結構的刪除
有添加就有刪除,當我們對資料表中某欄位進行刪除或者對其本身進行刪除時需要用到drop命令。
那麼具體的操作請參考下列圖片中的內容。要注意的是我們針對的是對資料庫中資料的刪除,所以在使用drop命令進行刪除的時候一定要再三確認,命令無誤的情況下在執行。
(1)資料表欄位的刪除
文法: alter table 資料表名 drop 欄位名;
例子: alter table student drop tel;
(2)資料表結構的刪除
文法: drop table 資料結構名
例子: drop table mother;//一旦刪除.資料無法恢複.
另外在drop語句使用時,還可一結合參數一起使用。例如 if exists,show warnings等。
如果加上了if exists相當於加了一條判斷條件看是否存在。如果不存在的話會出現報錯資訊。而結合show warnings;用法。可以把具體的報錯資訊顯示出來。
drop table if exists student1111; //刪除一個不存在的資料結構時,建議加上if exists.
show warnings; //用了if exists之後再使用show warnings可以捕獲error具體資訊.不加if exists則error自動被拋出.
四, MySQL 資料庫的備份及還原
1. 備份
對於mysql資料庫的備份方法有很多種,可以通過命令也可以通過第三方工具進行備份(例如:mysqlyog),今天介紹的是通過命令列的方式進行mysql資料庫的備份。
文法: mysqldump --opt 資料庫名 -u 使用者名稱 -p -r 資料庫地址路徑
2.還原
對於還原也非常的簡單,要注意的是還原的時候使用的不是mysqldump指令而是mysql。
文法:mysql -h 資料庫安裝物件服務器 -u 登入帳號名 -p 資料庫名< 備份檔案地址
五, MySQL Insert語句
1. 拿下面的列表來做例子。假如說我們的需求是,在該表中添加李四的個人資訊,包括name,major,brithday,tel和sid.
那麼我們就需要用到insert語句來進行添加。具體文法如下。
文法: insert into 資料庫名(參數名,參數名(可多個))
---> values(‘對應選項的值’,‘對應選項的值’);
另外雖然我們還沒說到過select語句。但是這裡其實已經在圖片中列舉出來了。可以通過select語句對列表中的內容進行條件式篩選。從而擷取出我們想要得到的內容。
另外insert 語句的用法除了上述的用法之外還有下面的用法。
方法二;
文法:
insert into 資料表名
-->set 欄位名= ‘欄位值‘
-->欄位名 = ’欄位值‘;
六, Select語句
1.簡單尋找方法
文法:
select 欄位名,欄位名,欄位名 form 資料表名
-->where 條件判斷語句;
如果想篩選多個條件,條件跟條件之間用and關鍵字串連。
注釋:如果篩選的結果沒有符合,那麼則返回"Empty set (0.00 sec)",如果匹配到了條件那麼會列舉出匹配到的條目以及列表。
2. 帶結果排序的select語句
文法:
select 欄位名,欄位名,欄位名 form 資料表名
--> where 欄位名 條件陳述式
-->order by 欄位名[欄位名][ASC(升序)][DESC(降序)]
(2) 帶結果排序的select語句
文法:
select 欄位名 from 表名
where 欄位名 條件陳述式
order by 欄位名[欄位名][ASC(升序)][DESC(降序)]
例子1【desc】:
例子2【asc】:
(3) 限定查詢結果條目的select語句
文法:
select 欄位名 from 表名
where 欄位名 條件陳述式
limit [offset], row_count
七, update語句
文法:
mysql> update 資料表名
---->set 欄位名 = ‘欄位值‘
---->where 欄位名 條件陳述式
---->order by 欄位名 limit 條目數
【資料庫】MySQL 從安裝到命令