成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Mysql數(shù)據(jù)庫(kù)理論基礎(chǔ)二

 MySQL數(shù)據(jù)庫(kù)理論基礎(chǔ)二

一、簡(jiǎn)介

由MySQL AB公司開發(fā),是最流行的開放源碼SQL數(shù)據(jù)庫(kù)管理系統(tǒng),主要特點(diǎn):

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、阿爾山ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阿爾山網(wǎng)站制作公司

  • 1、是一種數(shù)據(jù)庫(kù)管理系統(tǒng)

  • 2、是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng)

  • 3、是一種開放源碼軟件,且有大量可用的共享MySQL軟件

  • 4、MySQL數(shù)據(jù)庫(kù)服務(wù)器具有快速、可靠和易于使用的特點(diǎn)

  • 5、MySQL服務(wù)器工作在客戶端/服務(wù)器模式下,或嵌入式系統(tǒng)中

  • InnoDB存儲(chǔ)引擎將InnoDB表保存在一個(gè)表空間內(nèi),該表空間可由數(shù)個(gè)文件創(chuàng)建。這樣,表的大小就能超過單獨(dú)文件的最大容量。表空間可包括原始磁盤分區(qū),從而使得很大的表成為可能。表空間的最大容量為64TB。

二、MySQL相關(guān)概念:MySQL是單進(jìn)程多線程接收應(yīng)用的請(qǐng)求

2.1. SQL/MySQL

1.事務(wù),隔離,并發(fā)控制,鎖

2.用戶和權(quán)限

3.監(jiān)控

   STATUS

4.索引類型:查詢

   VARIABLES

5.備份和恢復(fù)

6.復(fù)制功能

7.集群


2.2. DML:數(shù)據(jù)操作語(yǔ)言

   INSERT:插入

   DELETE:刪除

   SELECT:挑選,選擇,查詢

   UPDATE:更新,修改


2.3. DDL:數(shù)據(jù)定義語(yǔ)言

   CREATE:創(chuàng)建

   DROP:刪除

   ALTER:修改


2.4. DCL:數(shù)據(jù)控制語(yǔ)言

  GRANT:授權(quán)

  REVOKE:取消權(quán)限


2.5. MySQL插件式存儲(chǔ)引擎:

 1.MyISAM: 不支持事務(wù)處理,應(yīng)用于查詢比較多,但修改比較少的數(shù)據(jù)存儲(chǔ)倉(cāng)庫(kù)

   該引擎中,每個(gè)表有三個(gè)文件:

         .frm: 表結(jié)構(gòu)文件

         .MYD: 表數(shù)據(jù)文件

         .MYI: 表索引文件

 2.InnoDB:支持事務(wù)處理,查詢沒有那么快,應(yīng)用于經(jīng)常需要修改的,比如論壇數(shù)據(jù)存儲(chǔ)

   該引擎所以表共享一個(gè)表空間文件;

   建議:每表一個(gè)獨(dú)立的表空間文件;

         .frm:表結(jié)構(gòu)文件

         .ibd:表空間(包含表數(shù)據(jù)和表索引文件)

   ----------------------------------------------------------------------

   為mysql打開innodb每表建立一個(gè)獨(dú)立表空間文件的設(shè)置:

   編輯配置文件/etc/my.cnf添加一行后重啟mysql服務(wù):

   #vim /etc/my.cnf

   ....

   innoda_file_per_table = 1    #1為啟用,0為禁用

   ----------------------------------------------------------------------

2.6. MYSQL數(shù)據(jù)庫(kù)功能:

   1、數(shù)據(jù)庫(kù)創(chuàng)建、刪除

   2、創(chuàng)建表、刪除表、修改表

   3、索引的創(chuàng)建、刪除

   4、用戶和權(quán)限

   5、數(shù)據(jù)增、刪、改

   6、查詢


2.7. MySQL二進(jìn)制程序:mysql數(shù)據(jù)庫(kù)的database存放路徑為/var/lib/mysql目錄中


2.8. 客戶端命令:mysql

       -u USERNAME     #以那個(gè)用戶連接mysql (不指定默認(rèn)用戶為root)

       -p           #指定輸入用戶密碼   (不指定默認(rèn)是空密碼)

       -h MYSQL_SERVER  #指定mysql服務(wù)器主機(jī) (不指定默認(rèn)為localhost本機(jī))

       -D DATA       #連接mysql的時(shí)候指定默認(rèn)的數(shù)據(jù)庫(kù)

eg1: mysql -D mydb -uroot -p -h 10.109.134.249 -D mydb

  -uroot 指定用戶 -p:輸入用戶密碼  -h:指定連接那臺(tái)mysql服務(wù)器(ip地址)

  -D: 指定登錄mysql默認(rèn)的數(shù)據(jù)庫(kù)(相當(dāng)于在客戶端內(nèi)輸入U(xiǎn)SE mydb;命令)


MySQL客戶端:

    交互式模式:一步一步的手動(dòng)輸入執(zhí)行

    批處理模式:執(zhí)行mysql腳本,批處理執(zhí)行


MySQL客戶端工具:

    mysql

    mysqldump:常見的mysql備份工具

    mysqladmin:mysql管理工具 

      mysqladmin extended-status  顯示狀態(tài)變量

       mysqladmin status

                  --sleep N   顯示頻率

                  --count N   顯示多個(gè)狀態(tài)

       mysqladmin variables     顯示服務(wù)器變量;

       mysqladmin flush-privileges  mysqld重讀授權(quán)表,等同于reload;

       mysqladmin flush-status    重置大多數(shù)服務(wù)器狀態(tài)變量;

       mysqladmin flush-logs   二進(jìn)制和中繼日志滾動(dòng);

       mysqladmin flush-hosts  刷新主機(jī)列表;

       mysqladmin refresh 刷新日志和主機(jī)列表,相當(dāng)于同時(shí)執(zhí)行flush-hosts和flush-logs;

       mysqladmin shutdown   關(guān)閉mysql服務(wù)器進(jìn)程;

       mysqladmin version    服務(wù)器版本及當(dāng)前狀態(tài)信息;

       mysqladmin start-slave 啟動(dòng)復(fù)制,啟動(dòng)從服務(wù)器復(fù)制線程;

       mysqladmin stop-slave 關(guān)閉復(fù)制,關(guān)閉從服務(wù)器復(fù)制線程。

    格式:mysqladmin [option] command [arg] [command [arg]] ...

      eg: mysqladmin -uroot -p password 'NEW_PASS' 

[root@lamp ~]# mysqladmin create hellodb;

[root@lamp ~]# mysql

.........

mysql> SHOW DATABASES;

+--------------------+

| Database       |

+--------------------+

| information_schema |

| hellodb        |  #通過mysqladmin可以直接管理mysql

...

+--------------------+

7 rows in set (0.00 sec)

       mysqlcheck:檢查工具   

       mysqlimport:接口工具


2.9. MySQL非客戶端工具:

        myisamchk

        myisampack


2.10. 交互式模式中的命令類別:

  客戶端命令:

?      (\?) Synonym for `help'.  獲取幫助

quit    (\q) Quit mysql.  退出mysql客戶端 

clear   (\c) Clear the current input statement.

       \c:提前終止語(yǔ)句執(zhí)行,但是必須在結(jié)束符前,否則該條指令依舊執(zhí)行。

go     (\g) Send command to mysql server.

        \g:無(wú)論語(yǔ)句結(jié)束符是什么,直接將此語(yǔ)句送至服務(wù)器端執(zhí)行;

ego    (\G) Send command to mysql server, display result vertically.

        \G:無(wú)論語(yǔ)句結(jié)束符是什么,直接將此語(yǔ)句送至服務(wù)器端執(zhí)行,而且結(jié)果以豎排顯示;

system   (\!) Execute a system shell command.

         \! COMMAND:執(zhí)行shell命令;

warnings  (\W) Show warnings after every statement.

         \W:語(yǔ)句執(zhí)行結(jié)束后顯示警告信息;

  服務(wù)器端命令:

必須使用語(yǔ)句結(jié)束符,默認(rèn)結(jié)束符為分號(hào);SHOW DATABASES; #查看數(shù)據(jù)庫(kù) 

delimiter  (\d) Set statement delimiter.

         \d:定義語(yǔ)句結(jié)束符 (默認(rèn)語(yǔ)句結(jié)束符為分號(hào),可以設(shè)定為其他)

help KEYWORD: 獲取關(guān)鍵字命令的幫助信息;

   eg: mysql>help SELECT;  #獲取SELECT命令的相關(guān)幫助信息;

    

--------------------------------------------------------------------------

在mysql客戶端中,名稱補(bǔ)全命令: rehash

# vim /etc/my.cnf        #修改配置文檔,使得命令補(bǔ)全永久有效;

[mysql]

#no-auto-rehash

auto-rehash = 1

# Remove the next comment character if you are not familiar with SQL

#safe-updates

mysql> rehash   #若不改配制,用命令rehash可tab鍵補(bǔ)全命令,但重新打開mysql將失效

mysql> u    #按tab鍵就有很多以U開頭的命令出來(lái)

unlock tables      user.Execute_priv     user.Shutdown_priv

updates       user.File_priv      user.Super_priv

...

--------------------------------------------------------------------------

三、MySQL關(guān)系數(shù)據(jù)庫(kù)對(duì)象:

   庫(kù)、表、索引、視圖、約束、存儲(chǔ)過程、存儲(chǔ)函數(shù)、觸發(fā)器、游標(biāo)、用戶、權(quán)限、事務(wù)。


   數(shù)據(jù)庫(kù)最基本的對(duì)象-->表:行(row),列(field,column)

   服務(wù)端命名:mysqld 

   Mysql常用命令不區(qū)分大小寫,但是需保持一致(都大寫或者都小寫):


 

3.1. DDL:定義數(shù)據(jù)對(duì)象  (Data Definition Language)
   3.1.1關(guān)鍵字:CREATE(創(chuàng)建)、ALTER(修改)、DROP(刪除)
 主要作用的范圍:數(shù)據(jù)庫(kù),表,表的字段
    創(chuàng)建用戶:
             
CREATE USER 'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD';  #可以不指定密碼
               USERNAME:用戶名        HOST:主機(jī)   IDENTIFIED:指定密碼   BY‘密碼’
   刪除用戶:
               DROP USER 'USERNAME'@'HOST';  刪除用戶(需具體指定刪除那個(gè)用戶)
       
--------------------------------------------------------------------------
   為用戶設(shè)定密碼方法:(建議用1和3這兩種)
*1、mysql>SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('PASSWORD')
   eg. SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456')  
#設(shè)定root@localhost用戶名密碼為123456

2、直接在linux下輸入,不需要進(jìn)入mysql客戶端輸入(易導(dǎo)致修改同user不同host的密碼):
  # mysqladmin -uUSERNAME -hHOST -p password 'password'
  eg: [root@johntest ~]#mysqladmin -uroot -h20.109.13.9 -p password '123456'
 
*3、直接修改表中的內(nèi)容:
  mysql>UPDATE user SET password=PASSWORD('password') WHERE USER='root'  AND Host='10.109.13.9';
  #AND與關(guān)系(需同時(shí)滿足) OR或關(guān)系(兩者滿足一個(gè)即可) NOT非關(guān)系(取反)
--------------------------------------------------------------------------


3.1.2. HOST可以使用的格式:
       IP , HOSTNAME(主機(jī)名),NETWORK(網(wǎng)絡(luò)地址),通配符(需用'通配符'引號(hào))
      通配符包含:
                  _:匹配任意單個(gè)字符,172.16.0._
                 %:匹配任意字符
                 
3.1.3. 新建數(shù)據(jù)庫(kù):
       創(chuàng)建數(shù)據(jù)庫(kù):CREATE DATABASE IF NOT EXISTS db_name;   同名數(shù)據(jù)庫(kù)不存在時(shí)創(chuàng)建
       創(chuàng)建表:  CREATE TABLE tb_name(col1,col2,...);    創(chuàng)建tb_name表  col表示字段
       查看庫(kù)中的表:SHOW TABLES FROM db_name     查看db_name數(shù)據(jù)庫(kù)中的表
       查看表的結(jié)構(gòu):DESC tb_name                 查看tb_name表的結(jié)構(gòu)      
       刪除表:DROP TABLE IF EXISTS tb_name    如果表存在刪除tb_name表    
       
3.1.4.修改表:ALTER TABLE tb_name
                  MODIFY:  修改某字段 (變更屬性,權(quán)限)
                 CHANGE:   改變某字段 (變更字段名稱)
                 ADD:      增加某字段
                 DROP :      刪除某字段
  eg: ALTER TABLE students ADD course VARCHAR(100);      #新增空間長(zhǎng)度為100course字段

 
3.2. DML:數(shù)據(jù)操縱語(yǔ)言 (Data Manipulation Language)
   關(guān)鍵字:   INSERT (插入)、  DELETE (刪除)、 UPDATE (更新、修改)
  主要作用范圍:針對(duì)表中字段的值進(jìn)行操作
     插入數(shù)據(jù):  col表示字段
INSERT INTO tb_name (col1,col2,...) VALUES|VALUE ('STRING',NUM,...),   ('STRING',NUM,...);   

     更新、修改數(shù)據(jù): 
WHERE表示修改那個(gè)具體數(shù)據(jù),并不是把column整個(gè)這個(gè)字段的值修改為value.
 UPDATE tb_name SET column=value WHERE ..... ;   
 
   eg: UPDATE students SET Course='Jiuyinzhenjing' WHERE Name='LHC';                                      #表示修改表students中Name值為L(zhǎng)HC的Course字段的值變?yōu)椤甁iuyinzhenjing’
                     
3.3. DCL:數(shù)據(jù)庫(kù)控制語(yǔ)言 (Data Control Language)
   關(guān)鍵字:  GRANT(允許、授權(quán))、REVOKE  (取消權(quán)限)
   ALL PRIVILEGES:  表示所有權(quán)限
 
3.3.1   GRANT:      給用戶授權(quán)
   eg: GRANT pri1,pri2,... ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD'  
   #在數(shù)據(jù)庫(kù)DB_NAME中的表TB_NAME中,用戶USERNAME@'HOST'授予pri1,pri2等權(quán)限也可以設(shè)定密碼IDENTIFIED BY 'PASSWORD',若此用戶不存在則直接新建該用戶并授權(quán)

 3.3.2  REVOKE :    取消用戶權(quán)限
   eg:REVOKE pri1,pri2,... ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';
#在數(shù)據(jù)庫(kù)DB_NAME中的表TB_NAME中,取消用戶'USERNAME'@'HOST'的pri1,pri2等權(quán)限
      
   3.3.3  查看用戶的授權(quán): SHOW GRANTS FOR 'USERNAME'@'HOST';
   
  3.3.4  刷新用戶權(quán)限列表: FLUSH PRIVILEGES;


 3.4. DQL:數(shù)據(jù)庫(kù)查詢語(yǔ)言 ( Data Query Language )
關(guān)鍵字:SELECT  (挑選,選擇)
      SELECT 字段 FROM tb_name WHERE CONDITION;
      *:表示所有字段
      WHERE:沒有條件表示顯示所有行;
     eg: SELECT Name,Course FROM students WHERE Gender='M';
       #表示只選擇表students中的Gender字段值為M的Name和Course字段的信息

---end---

分享題目:Mysql數(shù)據(jù)庫(kù)理論基礎(chǔ)二
路徑分享:http://jinyejixie.com/article32/jjjpsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站內(nèi)鏈軟件開發(fā)、云服務(wù)器定制開發(fā)、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
怀仁县| 云浮市| 六安市| 松滋市| 南京市| 乐昌市| 右玉县| 石城县| 酒泉市| 商洛市| 平陆县| 芜湖县| 庆阳市| 乌兰县| 和政县| 平舆县| 邓州市| 当涂县| 皋兰县| 太康县| 隆德县| 礼泉县| 溆浦县| 朝阳县| 南川市| 大同市| 福安市| 彭州市| 理塘县| 赤城县| 晋江市| 沂源县| 古蔺县| 渭源县| 西充县| 马关县| 罗田县| 攀枝花市| 莒南县| 紫金县| 潢川县|