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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...