99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Mysql數據庫理論基礎二

 MySQL數據庫理論基礎二

一、簡介

由MySQL AB公司開發,是最流行的開放源碼SQL數據庫管理系統,主要特點:

我們提供的服務有:網站設計、成都網站設計、微信公眾號開發、網站優化、網站認證、阿爾山ssl等。為成百上千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的阿爾山網站制作公司

  • 1、是一種數據庫管理系統

  • 2、是一種關聯數據庫管理系統

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

  • 4、MySQL數據庫服務器具有快速、可靠和易于使用的特點

  • 5、MySQL服務器工作在客戶端/服務器模式下,或嵌入式系統中

  • InnoDB存儲引擎將InnoDB表保存在一個表空間內,該表空間可由數個文件創建。這樣,表的大小就能超過單獨文件的最大容量。表空間可包括原始磁盤分區,從而使得很大的表成為可能。表空間的最大容量為64TB。

二、MySQL相關概念:MySQL是單進程多線程接收應用的請求

2.1. SQL/MySQL

1.事務,隔離,并發控制,鎖

2.用戶和權限

3.監控

   STATUS

4.索引類型:查詢

   VARIABLES

5.備份和恢復

6.復制功能

7.集群


2.2. DML:數據操作語言

   INSERT:插入

   DELETE:刪除

   SELECT:挑選,選擇,查詢

   UPDATE:更新,修改


2.3. DDL:數據定義語言

   CREATE:創建

   DROP:刪除

   ALTER:修改


2.4. DCL:數據控制語言

  GRANT:授權

  REVOKE:取消權限


2.5. MySQL插件式存儲引擎:

 1.MyISAM: 不支持事務處理,應用于查詢比較多,但修改比較少的數據存儲倉庫

   該引擎中,每個表有三個文件:

         .frm: 表結構文件

         .MYD: 表數據文件

         .MYI: 表索引文件

 2.InnoDB:支持事務處理,查詢沒有那么快,應用于經常需要修改的,比如論壇數據存儲

   該引擎所以表共享一個表空間文件;

   建議:每表一個獨立的表空間文件;

         .frm:表結構文件

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

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

   為mysql打開innodb每表建立一個獨立表空間文件的設置:

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

   #vim /etc/my.cnf

   ....

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

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

2.6. MYSQL數據庫功能:

   1、數據庫創建、刪除

   2、創建表、刪除表、修改表

   3、索引的創建、刪除

   4、用戶和權限

   5、數據增、刪、改

   6、查詢


2.7. MySQL二進制程序:mysql數據庫的database存放路徑為/var/lib/mysql目錄中


2.8. 客戶端命令:mysql

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

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

       -h MYSQL_SERVER  #指定mysql服務器主機 (不指定默認為localhost本機)

       -D DATA       #連接mysql的時候指定默認的數據庫

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

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

  -D: 指定登錄mysql默認的數據庫(相當于在客戶端內輸入USE mydb;命令)


MySQL客戶端:

    交互式模式:一步一步的手動輸入執行

    批處理模式:執行mysql腳本,批處理執行


MySQL客戶端工具:

    mysql

    mysqldump:常見的mysql備份工具

    mysqladmin:mysql管理工具 

      mysqladmin extended-status  顯示狀態變量

       mysqladmin status

                  --sleep N   顯示頻率

                  --count N   顯示多個狀態

       mysqladmin variables     顯示服務器變量;

       mysqladmin flush-privileges  mysqld重讀授權表,等同于reload;

       mysqladmin flush-status    重置大多數服務器狀態變量;

       mysqladmin flush-logs   二進制和中繼日志滾動;

       mysqladmin flush-hosts  刷新主機列表;

       mysqladmin refresh 刷新日志和主機列表,相當于同時執行flush-hosts和flush-logs;

       mysqladmin shutdown   關閉mysql服務器進程;

       mysqladmin version    服務器版本及當前狀態信息;

       mysqladmin start-slave 啟動復制,啟動從服務器復制線程;

       mysqladmin stop-slave 關閉復制,關閉從服務器復制線程。

    格式: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:提前終止語句執行,但是必須在結束符前,否則該條指令依舊執行。

go     (\g) Send command to mysql server.

        \g:無論語句結束符是什么,直接將此語句送至服務器端執行;

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

        \G:無論語句結束符是什么,直接將此語句送至服務器端執行,而且結果以豎排顯示;

system   (\!) Execute a system shell command.

         \! COMMAND:執行shell命令;

warnings  (\W) Show warnings after every statement.

         \W:語句執行結束后顯示警告信息;

  服務器端命令:

必須使用語句結束符,默認結束符為分號;SHOW DATABASES; #查看數據庫 

delimiter  (\d) Set statement delimiter.

         \d:定義語句結束符 (默認語句結束符為分號,可以設定為其他)

help KEYWORD: 獲取關鍵字命令的幫助信息;

   eg: mysql>help SELECT;  #獲取SELECT命令的相關幫助信息;

    

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

在mysql客戶端中,名稱補全命令: rehash

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

[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鍵補全命令,但重新打開mysql將失效

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

unlock tables      user.Execute_priv     user.Shutdown_priv

updates       user.File_priv      user.Super_priv

...

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

三、MySQL關系數據庫對象:

   庫、表、索引、視圖、約束、存儲過程、存儲函數、觸發器、游標、用戶、權限、事務。


   數據庫最基本的對象-->表:行(row),列(field,column)

   服務端命名:mysqld 

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


 

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

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


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

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

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

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


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

---end---

分享題目:Mysql數據庫理論基礎二
路徑分享:http://www.yijiale78.com/article32/jjjpsc.html

成都網站建設公司_創新互聯,為您提供做網站、網站內鏈軟件開發云服務器定制開發、域名注冊

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司