程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mariadb介紹,mariadb

mariadb介紹,mariadb

編輯:MySQL綜合教程

mariadb介紹,mariadb


事務(Transaction):組織多個操作為一個整體,要麼全部執行,要麼全部不執行    “回滾” ,rollback

SQL接口:sql語句分析器和優化器

表:為了滿足范式設計要求,將一個數據集分拆為多個

 

約束:constraint,向數據表插入的數據要遵守的限制規則

  主鍵:一個或多個字段的組合,填入主鍵中的數據,必須不同於已存在的數據;不能為空

  外鍵:一個表中某字段中能插入的數據,取決於另外一張表的主鍵中的數據

  惟一鍵:一個或多個字段的組合,填入惟一鍵中的數據,必須不同於已存在的數據;可以為空

  檢查性約束:取決於表達式的要求

 

索引:將表中的某一個或某些字段抽取出來,單獨將其組織一個獨特的數據結構中

    常用的索引類型:  樹型  hash(只有使用MEMORY引擎的表才能使用)

    索引有助於讀請求,但不利於寫請求

 

MariaDB的特性:插件式存儲引擎:存儲管理器有多種實現版本,彼此間的功能和特性可能略有區別;用戶可根據需要靈活選擇

         存儲引擎也稱為“表類型”

 

MariaDB與MySQL的比較:

        (1) 支持更多的存儲引擎

        (2) MyISAM-->Aria (改進版)不支持事務

        (3) InnoDB --> XtraDB(改進版) 支持事務

        (4) 諸多擴展和新特性 

        (5) 提供了較多的測試組件

        (6) 完全的開源軟件

centos7上直接安裝:yum -y install mariadb-server    啟動服務:systemctl start mariadb

    數據目錄:/var/lib/mysql/           命令行輸入mysql就可以直接登陸了     配置文件:/etc/my.cnf.d/server.cnf

使用mysql --help查看讀取配置文件的位置及讀取順序,後面讀的會把前面的覆蓋掉

 

DDL(Data Definition Language): CREATE, ALTER, DROP

DML(Data Manipulation Language): INSERT, DELETE, UPDATE, SELECT

DCL(Data Control Language): GRANT, REVOKE

三類套接字地址:IPv4,IPv6 3306/tcp  

        Unix Sock:/var/lib/mysql/mysql.sock(rpm安裝) /tmp/mysql.sock(源碼安裝)  通過127.0.0.1地址通信

客戶端:

    mysql:CLI交互式客戶端程序 

    mysqldump:備份工具

    mysqladmin:管理工具

    mysqlbinlog:二進制日志查看工具

 

命令行交互式客戶端程序:mysql

    -uUSERNAME:用戶名,默認為root

    -hHOST:遠程主機(即mysql服務器)地址,默認為localhost

    -p[PASSWORD]:USERNAME所表示的用戶的密碼; 默認為空

注意:mysql的用戶賬號由兩部分組成:'USERNAME'@'HOST',其中HOST用於限制此用戶可通過哪些遠程主機連接當前的mysql服

務,HOST的表示方式,支持使用通配符,%:匹配任意長度的任意字符,_:匹配任意單個字符

 

mysql -D mysql  直接登錄到mysql數據庫       mysql -e ‘show databases’ 在命令行取得show databases命令的執行結果

 

客戶端命令:本地執行   獲取幫助:MariaDB [(none)]> help   例如:獲取狀態信息:\s

服務端的獲取命令幫助:help COMMAND

  查看mariadb支持哪些字符集:show character set;

  創建一個數據庫:create database nihao character set ustf8;

  刪除一個數據庫:drop database nihao;  注意數據庫刪除了就找不回了

  查看: show database like '';

 

創建表的格式:create table  [if not exits]  tbl_name  (create_defination)  [table_options]

    create_defination:

      字段:col_name  data_type

      鍵:PRIMARY KEY (col1, col2, ...)  UNIQUE KEY  (col1, col2,...)  FOREIGN KEY (column)

    table_options:engine=egine name

例如:create table students(id int unsigned not null primary key, name char(10) not null, age tinyint unsigned, gender

enum('m','f' ));

    字符類型char比varchar對mariadb的性能更好,使用desc tablename查看表結構

定義多個主鍵:create table students(id int unsigned not null, name char(10) not null, age tinyint unsigned, gender

enum('m','f' ),primary key(id,name));

    注意unsigned只能緊跟在數值類型後面,否則會報錯

 

查看數據庫支持的所有存儲引擎類型:show engines;  查看表使用哪種存儲引擎:show table status\G;   查看具體哪張表:show

table status like 'tablename';

 

修改:

  增加一個字段:alter table students add class varchar(10) not null after name;

  after表示放在哪個字段後面

  刪除一個字段:alter table students drop class;

  不修改名字,只對某一列的屬性進行修改:alter table students modify class varchar(99) after age;

  

  刪除主鍵:alter table students drop primary key;

  添加一個唯一鍵:alter table students add unique key (name);    如果唯一鍵為not null自動轉換此primary key

 

  查看表的索引:show indexes from tablename\G; (注意鍵可以使索引,但索引不一定是鍵)

  刪除一個索引:alter table students drop index name;   (name為索引的名字)

  添加一個索引:alter table students add index class (class); 【(class)代表的是字段的名字,class表示索引名】

  

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved