MYSQL新手入門篇

來源:互聯網
上載者:User

標籤:app   end   alt   utf8   lan   min   ase   取消   tle   

一、資料庫的簡介

什麼是資料庫?

資料的倉庫,如:在atm的執行個體中我們建立一個db目錄稱之為資料庫

什麼是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?

他們是資料庫軟體,主要功能為兩部分:1、講資料儲存到記憶體或者檔案。2、接受特定的命令對資料進行操作

什麼是SQL?

上述問題說過,資料庫要接受特定的命令,這個命令就是用SQL編寫,他是結構化查詢語言 (SQL)(Structured Query Language)的縮寫,一種專門與資料庫互動的語言。

二、資料庫的安裝

windows版本

1、下載

MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/

2、解壓

如果想要讓MySQL安裝在指定目錄,那麼就將解壓後的檔案夾移動到指定目錄,如:C:\mysql-5.7.16-winx64

3、初始化

MySQL解壓後的 bin 目錄下有一大堆的可執行檔,執行如下命令初始化資料:

cd c:\mysql-5.7.16-winx64\bin mysqld --initialize-insecure

4、啟動MySQL服務

執行命令從而啟動MySQL服務

# 進入可執行檔目錄cd c:\mysql-5.7.16-winx64\bin # 啟動MySQL服務mysqld

5、啟動MySQL用戶端並串連MySQL服務

由於初始化時使用的【mysqld --initialize-insecure】命令,其預設未給root賬戶設定密碼

# 進入可執行檔目錄cd c:\mysql-5.7.16-winx64\bin # 串連MySQL伺服器mysql -u root -p # 提示請輸入密碼,直接斷行符號

輸入斷行符號,見表示安裝成功:

到此為止,MySQL服務端已經安裝成功並且用戶端已經可以串連上,以後再操作MySQL時,只需要重複上述4、5步驟即可。但是,在4、5步驟中重複的進入可執行檔目錄比較繁瑣,如想日後操作簡便,可以做如下操作。

 添加環境變數

將MySQL可執行檔添加到環境變數中,從而執行執行命令即可

【右鍵電腦】--》【屬性】--》【進階系統設定】--》【進階】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】 如:C:\Program Files (x86)\Parallels\Parallels Tools\Applications;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Python27;C:\Python35;C:\mysql-5.7.16-winx64\bin

如此一來,以後再啟動服務並串連時,僅需:

# 啟動MySQL服務,在終端輸入mysqld # 串連MySQL服務,在終端輸入:mysql -u root -p

. 將MySQL服務製作成windows服務

上一步解決了一些問題,但不夠徹底,因為在執行【mysqd】啟動MySQL伺服器時,當前終端會被hang住,那麼做一下設定即可解決此問題:

# 製作MySQL的Windows服務,在終端執行此命令:"c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服務,在終端執行此命令:"c:\mysql-5.7.16-winx64\bin\mysqld" --remove

註冊成服務之後,以後再啟動和關閉MySQL服務時,僅需執行如下命令:

 

# 啟動MySQL服務net start mysql # 關閉MySQL服務net stop mysql

linux版本

安裝

yum install mysql-server  

啟動

mysql.server start

連結

串連:    mysql -h host -u user -p     常見錯誤:        ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running.退出:    QUIT 或者 Control+D

三、資料庫的操作

1、顯示資料庫

SHOW DATABASES;

預設資料庫:
  mysql - 使用者權限相關資料
  test - 用於使用者測試資料
  information_schema - MySQL本身架構相關資料

2、建立資料庫

# utf-8CREATE DATABASE 資料庫名稱 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbkCREATE DATABASE 資料庫名稱 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3、使用資料庫

USE db_name;

4、使用者管理

建立使用者    create user ‘使用者名稱‘@‘IP地址‘ identified by ‘密碼‘;刪除使用者    drop user ‘使用者名稱‘@‘IP地址‘;修改使用者    rename user ‘使用者名稱‘@‘IP地址‘; to ‘新使用者名稱‘@‘IP地址‘;;修改密碼    set password for ‘使用者名稱‘@‘IP地址‘ = Password(‘新密碼‘)  PS:使用者權限相關資料儲存在mysql資料庫的user表中,所以也可以直接對其進行操作(不建議)

5、授權管理

show grants for ‘使用者‘@‘IP地址‘                  -- 查看許可權grant  許可權 on 資料庫.表 to   ‘使用者‘@‘IP地址‘      -- 授權revoke 許可權 on 資料庫.表 from ‘使用者‘@‘IP地址‘      -- 取消許可權
對於許可權對於資料庫對於ip執行個體

註:flush privileges,將資料讀取到記憶體中,從而實現不重啟即可生效。

四、資料表的處理

1、建立表

View Code建立表時的參數說明

2、刪除表

drop table 表名

3、清空表

delete from 表名truncate table 表名

4、修改表

添加列:alter table 表名 add 列名 類型刪除列:alter table 表名 drop column 列名修改列:        alter table 表名 modify column 列名 類型;  -- 類型        alter table 表名 change 原列名 新列名 類型; -- 列名,類型  添加主鍵:        alter table 表名 add primary key(列名);刪除主鍵:        alter table 表名 drop primary key;        alter table 表名  modify  列名 int, drop primary key;  添加外鍵:alter table 從表 add constraint 外鍵名稱(形如:FK_從表_主表) foreign key 從表(外鍵欄位) references 主表(主鍵欄位);刪除外鍵:alter table 表名 drop foreign key 外鍵名稱  修改預設值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;刪除預設值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

5、基礎資料型別 (Elementary Data Type)

MySQL的資料類型大致分為:數值、時間和字串

View Code

更多參考:

  • http://www.runoob.com/mysql/mysql-data-types.html
  • http://dev.mysql.com/doc/refman/5.7/en/data-type-overview.html

五、表內容操作

1、增

insert into 表 (列名,列名...) values (值,值,值...)insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...)insert into 表 (列名,列名...) select (列名,列名...) from 表

2、刪

delete from 表delete from 表 where id=1 and name=‘alex‘

3、改

update 表 set name = ‘alex‘ where id>1

4、查

select * from 表select * from 表 where id > 1select nid,name,gender as gg from 表 where id > 1

5、其他

a、條件    select * from 表 where id > 1 and name != ‘alex‘ and num = 12;     select * from 表 where id between 5 and 16;     select * from 表 where id in (11,22,33)    select * from 表 where id not in (11,22,33)    select * from 表 where id in (select nid from 表) b、萬用字元    select * from 表 where name like ‘ale%‘  - ale開頭的所有(多個字串)    select * from 表 where name like ‘ale_‘  - ale開頭的所有(一個字元) c、限制    select * from 表 limit 5;            - 前5行    select * from 表 limit 4,5;          - 從第4行開始的5行    select * from 表 limit 5 offset 4    - 從第4行開始的5行 d、排序    select * from 表 order by 列 asc              - 根據 “列” 從小到大排列    select * from 表 order by 列 desc             - 根據 “列” 從大到小排列    select * from 表 order by 列1 desc,列2 asc    - 根據 “列1” 從大到小排列,如果相同則按列2從小到大排序 e、分組    select num from 表 group by num    select num,nid from 表 group by num,nid    select num,nid from 表  where nid > 10 group by num,nid order nid desc    select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid     select num from 表 group by num having max(id) > 10     特別的:group by 必須在where之後,order by之前 f、連表    無對應關係則不顯示    select A.num, A.name, B.name    from A,B    Where A.nid = B.nid     無對應關係則不顯示    select A.num, A.name, B.name    from A inner join B    on A.nid = B.nid     A表所有顯示,如果B中無對應關係,則值為null    select A.num, A.name, B.name    from A left join B    on A.nid = B.nid     B表所有顯示,如果B中無對應關係,則值為null    select A.num, A.name, B.name    from A right join B    on A.nid = B.nid g、組合    組合,自動處理重合    select nickname    from A    union    select name    from B     組合,不處理重合    select nickname    from A    union all    select name    from B

 -轉載

MYSQL新手入門篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.