mysql數據庫之基本操作和存儲引擎


一、知識儲備

數據庫服務器:一台計算機(對內存要求比較高)

數據庫管理系統:如mysql,是一個軟件

數據庫:oldboy_stu,相當於文件夾

表:student,scholl,class_list,相當於一個具體的文件

記錄:1 susan  158426544   22,相當於文件中的一行內容

二、初始SQL語言

SQL(Structured Query Language 即結構化查詢語言)
SQL語言主要用於存取數據、查詢數據、更新數據和管理關系數據庫系統,SQL語言由IBM開發。SQL語言分為3種類型:
DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER
DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT
DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE

三、系統數據庫

SQL(Structured Query Language 即結構化查詢語言)
SQL語言主要用於存取數據、查詢數據、更新數據和管理關系數據庫系統,SQL語言由IBM開發。SQL語言分為3種類型:
DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER
DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT
DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE

四、創建數據庫

數據庫命名規則:

可以由字母、數字、下划線、@、#、$
區分大小寫
唯一性
不能使用關鍵字如 create select
不能單獨使用數字
最長128位
create database db1

五、數據庫相關操作

數據庫的相關操作
注意:數據庫就相當於文件夾
      表就相當於文件
數據庫的命名規則:
一.數據庫的增刪改查(sql語句)
增:create database db1;
刪:drop database db1;
改:alter database db1 charset utf8
查:show databases;#查看所有的數據庫
    show create database db1;查看指定的數據庫
設置默認的utf8,在配置文件中:寫上character_set_server = utf8
use db2   #代表你鼠標雙擊切換目錄
select database() #查看你當前在哪個文件夾
二.表的增刪改查
增:create table  t1(id int ,name char);  (t1.frm 表結構  ,t1.ibd 表數據) 
刪:drop table t1;
改:
插入數據:insert into test(id,name) values(1,'x')
不寫給誰傳值就指定都傳,而且還是按照位置傳

查:show tables;  #查看所有表
   show create table t1;#查看指定的表
   select * from t1 #查看表數據
   select id,name from t1  #查看表數據
engine = InnoDB
表的存儲引擎是InnoDB

 

六、什么是存儲引擎?

存儲引擎說白了就是如何存儲數據、如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方
法。因為在關系數據庫中數據的存儲是以表的形式存儲的,所以存儲引擎也可以稱為表類型(即存儲和操作此表的類型)

SQL 解析器、SQL 優化器、緩沖池、存儲引擎等組件在每個數據庫中都存在,但不是每 個數據庫都有這么多存儲引擎。MySQL 的插件式存儲引擎可以讓存儲引擎層的開發人員設 計他們希望的存儲層,例如,有的應用需要滿足事務的要求,有的應用則不需要對事務有這 么強的要求 ;有的希望數據能持久存儲,有的只希望放在內存中,臨時並快速地提供對數據 的查詢。 

一種類型表明的是一種存儲方式
存儲引擎:就是表的類型,不同的類型就會對應不同的處理機制去處理他
事務:就是要么同時成功,要么同時不成功

使用存儲引擎

方法1:建表時指定

存儲引擎
1.create table t1(id int) engine = innodb 會出現2個文件
2.create table t2(id int) engine = myisam 會出現3個文件(速度比上面的快),但是我們還是用innodb存儲 
3.create table t3(id int) engine = memory 只有表結構沒有表數據,是創建到內存中的
4.create table t4(id int) engine = blackhole  黑洞,吃數據(數據存進去就沒有了,存進去就沒有了)

方法2:在配置文件中指定默認的存儲引擎

/etc/my.cnf
[mysqld]
default-storage-engine=INNODB
innodb_file_per_table=1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM