mariadb介紹

事務(Transaction):組織多個操做爲一個總體,要麼所有執行,要麼所有不執行    「回滾」 ,rollbackmysql

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

表:爲了知足範式設計要求,將一個數據集分拆爲多個數據庫

 

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

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

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

  唯一鍵:一個或多個字段的組合,填入唯一鍵中的數據,必須不一樣於已存在的數據;能夠爲空tcp

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

 

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

    經常使用的索引類型:  樹型  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:管理工具,例如:[root@localhost ~]# mysqladmin extended-status

    mysqlbinlog:二進制日誌文件查看工具

 

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

    -uUSERNAME:用戶名,默認爲root

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

    -p[PASSWORD]:用戶的密碼; 默認爲空

注意: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只能緊跟在數值類型後面,不然會報錯

 

顯示MariaDB支持的全部存儲引擎: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表示索引名】

相關文章
相關標籤/搜索