第二篇:初始mysql

mysql架構

mysql數據庫: C----->S架構軟件mysql

  • mysql數據庫本質就是一個基於網絡網絡通訊的軟件
  • 全部基於網絡通訊的軟件,底層都是socket

關係型數據庫和非關係型數據庫

DBMS:數據庫管理系統 關係型數據庫: MySQL、Oracle、DB二、sql server、....redis

  • 表結構
    • 須要哪些字段
    • 字段是什麼類型
  • 字段與字段類型

</br> 非關係型數據庫: redis、mongodb... - 非關係型數據庫通常以 key:value的形式存儲sql

例如:mongodb

{
    'name': 'tank'
}

存儲引擎

存儲引擎是用於根據不一樣的機制處理不一樣的數據。 查看mysql中全部引擎:show engines;數據庫

mysql中的幾種引擎

myisam: 5.5之前老的版本使用的存儲引擎 blackhole: 黑洞引擎,存進去數據消失 innodb: 默認使用存儲引擎安全

  • 支持事務
  • 行鎖
  • 外鍵 memory: 通電數據存在,斷電丟失(數據放在內存中)

</br> **示例:** 建立表的時候指定引擎 ```mysql # 建立表 create table t1(id int)engine=innodb; create table t2(id int)engine=myisam; create table t3(id int)engine=blackhole; create table t4(id int)engine=memory;網絡

插入數據

insert into t1 values(1); insert into t2 values(2); insert into t3 values(3); insert into t4 values(4);session

# 設置嚴格模式
```mysql
# 查看數據庫配置中變量名包含mode的配置參數:
show variables like "%mode%";

# 修改安全模式:
set session; # 局部有效,只在你當前操做的窗口有效
set global session; # 全局有效,永久有效

# 修改完以後退出當前客戶端從新登陸便可
set global sql_mode = 'STRICT_TRANS_TABLES';

char和vachar

區別 1:char類型是指固定長度的存儲方式,長度不足會在右側補足 2:varchar是值不固定長度的存儲方式,只存儲:字符長度+1個byte長度存儲信息長度架構

什麼地方使用char呢? 1:存儲字節小的,好比門牌號10一、102,由於若是用varchar,自己字節長度就小,還要浪費一個byte去存長度信息 2:存儲固定長度的,好比身份證號、手機號這些都是固定長度的 3:更新動做十分繁瑣的,由於varchar還要去計算存儲長度會浪費精力,而char是不須要的socket

另外還有根據存儲引擎來區分使用 myisam 存儲引擎 建議使用固定長度數據列 代替 可變長度的數據列。 memory存儲引擎 目前都使用固定數據行存儲,所以不管使用char varchar列都不要緊, innodb 存儲引擎 建意使用varchar 類型

相關文章
相關標籤/搜索