基本sql語句與存儲引擎介紹


數據庫總結:

數據庫服務器中存放的是 庫(文件夾) 表(文件) 表里面是記錄(一行數據)

庫:
創建
create database 數據庫名 charset 編碼名稱
修改
alter database 數據庫名 charset gbk
注意,這里的修改只能修改編碼方式,不能修改庫名
如果要修改庫名的話,就需要重新建一個庫,將原來的庫中的文件復制過去

show databases; 查看所有數據
show create database 數據庫名 查看建庫語句
刪除
drop database 數據庫名

表相關
創建
create table t1(id int,name char);
修改
改結構
alter table 表名 add | drop | modify | change
add 后面跟 字段名 數據類型
alter table t1 add grade,int;###增加grade 這一列,類型是Int
drop 后面跟 字段名
alter table t1 drop garade;###刪除grade 這一列
modify 后面跟 字段名 新類型
這個只能修改原來字段的類型
change 后面跟 舊字段名 新的字段名 新類型
alter table t1 change name name1 char(32);
改屬性
編碼
alter table t1 charset gbk;
表名
rename table 舊表名 to 新表名
rename table t1 to t2;

show tables;
show create table 表名 查看建表語句
desc 表名 查看表結構(字段)
刪除
drop table 表名
這個刪除了表內容 會依然保留表結構,在下次重新插入數據的時候,會繼續在原來的ID上增加
truncate table 表名,重建表(清空數據)
這個不僅刪除了表內容,還刪除了表結構,在下次重新插入數據的時候,ID從1重新開始
行:
添加
insert into 表名 values(值1...),(值1....)....
插入時注意 值得順序 和 類型必須與表結構一致
修改
update 表名 set 字段名=新的值 where 條件
update t2 set name1='szp' where id=1;
可以同時修改多行 用逗號來隔開字段
沒有條件就全改

select *|字段名 from 表名 *表示所有字段
刪除
delete from 表名 where條件
沒有條件就全刪


注意:在公司中,一般刪庫刪表的命令是不讓使用的,會有權限加以限制,
數據是最寶貴的東西,記錄了所有的信息,一般不允許刪除.




存儲引擎:
  mysql中建立的庫===>文件夾
  庫中建立的表===>文件
表中的行 =====>文件中的數據
  現實生活中我們用來存儲數據的文件有不同的類型,每種文件類型對應各自不同的處理機制:比如處理文本用txt類型,
處理表格用excel,處理圖片用png等

數據庫中的表也應該有不同的類型,表的類型不同,會對應mysql不同的存取機制,表類型又稱為存儲引擎。

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

  在Oracle 和SQL Server等數據庫中只有一種存儲引擎,所有數據存儲管理機制都是一樣的。而MySql
數據庫提供了多種存儲引擎。用戶可以根據不同的需求為數據表選擇不同的存儲引擎,用戶也可以根據
自己的需要編寫自己的存儲引擎
  
  不同的應用軟件處理不同類型的數據.MYSQL5.5版本及以上默認的存儲引擎是InnoDB

  mysql 之前使用的存儲引擎是myisam 但是現在換成了InnoDB,相對於前者,后者使得數據更加
安全,但是查詢的效率有所降低,也就是犧牲了效率換取安全

  幾個重要的存儲引擎特點簡介"
    memory:內存引擎,將所有的數據直接放在內存,一旦斷電數據就會全部消失
    blackhole :一切存入其中的數據都會消失
    innoDB:支持行鎖,表鎖,外鍵,事物,安全性更高 innodb是默認的引擎 它是永久存儲 並且 支持事務,行鎖,外鍵
    myisam :僅僅支持表鎖不支持行鎖,查詢速度叫innoDB更快

# 查看當前數據庫的存儲引擎以及默認設置情況
show engines;

# 查看不同存儲引擎存儲表結構文件特點
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;
可以去那個數據庫的文件夾下面查看這幾個表,t1 t2 t3 t4 的文件數量是不同的,本質原因是因為存儲引擎的不同

insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(1);
insert into t4 values(1);

補充:配置文件中配置用戶名和密碼
為了簡化登錄環節,可以在配置文件中增加
user = root
password = 654321
這樣的兩行配置信息到配置文件中,可以每次啟動就會默認進入,不需要輸入密碼了
但是為了數據的安全性,一般不建議這么做



免責聲明!

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



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