mariadb介紹

来源:http://www.cnblogs.com/linuxboke/archive/2016/05/25/5527066.html
-Advertisement-
Play Games

事務(Transaction):組織多個操作為一個整體,要麼全部執行,要麼全部不執行 “回滾” ,rollback SQL介面:sql語句分析器和優化器 表:為了滿足範式設計要求,將一個數據集分拆為多個 約束:constraint,向數據表插入的數據要遵守的限制規則 主鍵:一個或多個欄位的組合,填入 ...


事務(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表示索引名】

  

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • DML(Data Manipulation Language):INSERT, DELETE, UPDATE, SELECT INSERT [INTO] tbl_name [(col1,...)] {VALUES|VALUE} (val1, ...),(...),... 假如有上面這張表 插入一行數 ...
  • 資料庫 1、鍵:主鍵是表中的標誌列。一個鍵可能由幾列組成。可以使用鍵作為表格之間的引用。 CustomerID是Customers表的主鍵,當它出現在其他表,例如Orders表中的時候就稱它為外鍵。 2、模式 資料庫整套表格的完整設計稱為資料庫的模式。 一個模式應該顯示表格及表格的列、每個表的主鍵和 ...
  • 原文鏈接 ...
  • PL/SQL提供了豐富的流控制語句,用來對程式的執行流程進行控制。 通過流控制語句,我們可以編寫更複雜的PL/SQL塊。 流控制語句分為兩類,即條件判斷語句和迴圈語句。 IF語句 IF語句是一種條件判斷語句,它根據條件判斷的結果執行不同的代碼。 最簡單的IF語句格式為: IF 條件 THEN 代碼 ...
  • 手機微博4040埠SQL優化 現象 某埠常態化延遲,通過使用pt-query-digest發現主要由於一條count(*)語句引發,具體如下: 我們來查看一下這個表的表結構和這條語句的explain結果,看是否可以優化,具體如下: 可以看到通過type和extra都可以發現其實是用到了index ...
  • 最近在mysql主從複製中用到鎖,翻了資料回憶一下。一下內容參考於:http://blog.csdn.net/arkblue/article/details/27376991 1.FLUSH TABLES WITH READ LOCK 這個命令是全局讀鎖定,執行了命令之後所有庫所有表都被鎖定只讀。一 ...
  • --Student(S#,Sname,Sage,Ssex) 學生表 --Course(C#,Cname,T#) 課程表 --SC(S#,C#,score) 成績表 --Teacher(T#,Tname) 教師表 --問題: --1、查詢""課程比""課程成績高的所有學生的學號; select a.S... ...
  • nvarchar(max)長度測試:在使用convert強制類型轉化之後 文本長度可以突破8000的上限。並且nvarchar(max)的最大長度可達到2^31以下為驗證SQL: 不過在表中max的長度就不會那麼長了,一般限制就是4000/8000,具體數值估計是要依賴於SQLServer版本了。以 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...