MySQL數據庫基本sql語句操作

一、數據庫概念

  DBMS:數據庫管理系統

二、數據庫種類

(一)、關係型數據庫

特性:

  • 基於單一關係模型,結構化存儲,有完整性約束
  • 通過二維表建立數據之間的聯繫
  • 採用結構化查詢語言(SQL)做數據讀寫
  • 操作保存數據(事務)的一致性

優點:

  • 易於維護
  • 使用方便
  • 便於理解
  • 支持SQL:用於複雜查詢

缺點

  • 數據讀寫必須經過sql解析,大量數據、高併發下讀寫性能不足
  • 爲保證數據一致性,需要加鎖,影響併發操作
  • 無法適應非結構化的存儲
  • 大量數據集中到一臺服務區處理,使服務器不堪重負
  • “阻抗失諧”,即數據庫中存儲的對象與實際的對象實體有一定的差別
  • 擴展困難
  • 數據庫龐大,價格昂貴

常見的關係型數據庫

  Oracle、SQL Server、Sybase、DB2、Access、MySql

(二)、非關係型數據庫

特點

  • 非結構化的存儲。
  • 基於多維關係模型。
  • 部署容易,開源免費,成本低

優點

  • 處理高併發、大批量數據的能力強
  • 支持分佈式集羣,負載均衡,性能高
  • 解決“阻抗失諧”問題
  • 內存級數據庫,查詢速度快
  • 存儲格式多,支持key-value形式、文檔形式、圖片形式
  • 沒有多表連接查詢機制的限制,擴展性高

缺點

  • 技術起步晚,維護工具以及技術資料有限
  • 不支持sql工業標準
  • 沒有join等複雜的連接操作
  • 事務處理能力弱
  • 沒有完整性約束,對於複雜業務場景支持較差

常見的非關係型數據庫

  NoSql、Cloudant、MongoDb、redis、HBase

三、基本sql語句操作

(一)、針對庫(database)

create database 庫名 charset 編碼形式;

show databases;  # 查看所有數據庫
​show create database 數據庫名;  #查看指定數據庫

alter database 數據庫名 charset gbk; # 只能更改數據編碼,不能改數據庫名

drop database 數據庫名;

(二)、針對表(table)

  應該在具體某一個庫下面操作表,所以需先切換到指定數據庫

use 數據庫名;

create table 表名(id int,name char);

show tables;  # 顯示選定數據庫下所有表名
show create table 表名;  # 顯示指定表名
desc(describe)表名;  # 顯示錶結構 

alter table 原表名 modify 新表名 字段類型(寬度); # 更改表名和字段類型(寬度)

drop table 表名;

(三)、針對數據(data)

insert into t1 values(1,'moon'),(2,'hysen'),(3,'pinking');

select 字段名 from 表名;

update 表名 set 字段名=新值 where 字段名=原值;

delete from 表名 where 字段名=值;

四、存儲引擎

  不同的應用軟件處理不同類型的數據MySQL5.5版本及以上默認的存儲引擎是innodb,以下是myisam
  innodb:支持行鎖表鎖,外鍵,事物,安全性更高,較myisam數據更安全
  myisam:僅僅支持表鎖不支持行鎖,查詢速度較innodb更快
  memory:內存引擎,將所有的數據直接放在內存,一旦斷電數據全部消失
  blackhole:一切存入其中的數據都會消失

create table 表名(id int,name char(16)) engine=innodb;  # 指定存儲引擎
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章