sql是結構化查詢語言,mysql是關系型數(shù)據(jù)庫河闰,數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結構來組織砾医、儲存和管理數(shù)據(jù)的建立在計算機存儲設備上的倉庫校镐。
mysql 數(shù)據(jù)庫的結構
- 表
一個數(shù)據(jù)庫通常包含一個或多個表。每個表由一個名字標識(表名)树酪,表是相關的數(shù)據(jù)項的集合浅碾,它由列和行組成。
- 字段
每個表都可以分解為更小的項续语。這些項被稱為“字段”垂谢。字段是表里的一列,用于保持每條記錄的特定信息疮茄。
- 記錄
記錄滥朱,也被稱為一行數(shù)據(jù)苛白,是表里的各行。在關系型數(shù)據(jù)庫的表里焚虱,一行數(shù)據(jù)是指一條完整的記錄购裙。
- 主鍵
主鍵用于區(qū)分表里的每一條數(shù)據(jù),它通常是在表創(chuàng)建過程中初始化的鹃栽。主鍵的特性確保了每一條記錄都是唯一的躏率。
- 索引
為了提高訪問數(shù)據(jù)庫的效率,可以對數(shù)據(jù)庫使用索引民鼓。索引實際上是一種特殊類型的表薇芝,其中含有關鍵字段的值(由用戶定義)和指向實際記錄位置的指針,這些值和指針按照特定的順序(也由用戶定義)存儲丰嘉,從而可以以較快的速度查找到所需要的數(shù)據(jù)記錄夯到。
- NULL值
NULL 是表示“沒有值”的專用術語。值為NULL的字段在表創(chuàng)建過程中會保持為空饮亏。
mysql 數(shù)據(jù)庫基本操作
- 庫耍贾,表的創(chuàng)建和刪除
創(chuàng)建表
create databases DatabaseName;
create table 表名(
列名 類型 是否可以為空,
列名 類型 是否可以為空
)ENGINE=InnoDB DEFAULT CHARSET=utf8
create table test ( id integer auto_increment, name varchar(5), sex varchar(4), age integer(3), primary key (id) );
刪除表
drop table TableName;
刪除庫
drop database DatabaseName;
- 數(shù)據(jù)增刪改查
查詢 select
select <字段名> from <表或視圖> where <條件>;
插入 insert into
insert into <表名> (列1路幸,列2...) value(值1荐开,值2...) ;
insert into tb (name,age) value ('test',8);
更新 upadte
update <表名> set <列名> = <新值> where <列名> = <值>;
update tb set sex = '男' where id = 13;
刪除 delete
delete from <表名> where <條件>;
delete from tb where id = 13;
表添加列
alter table <表名> add <列名> <類型> ;
alter table tb add city varchar(5);
alter table tb add test varchar(255) default 'test' after sex;
表刪除列
alter table <表名> drop column <列名>简肴;
alter table tb drop column city;
- 數(shù)據(jù)庫備份恢復
備份
mysqldump -u UserName -p DBName>Name.sql
晃听,輸入密碼即可.
mysqldump -u sand -p myTEST>/tmp/test.sql
恢復
mysql -u sand -p
進入mysql,建立要還原的數(shù)據(jù)庫。
source /tmp/test.sql
或者用系統(tǒng)命令
mysql -u sand -p test2 < /tmp/test.sql
-
事務
特性:原子性(A): 事務是最小單位砰识,不可再分
一致性(C): 事務要求所有的DML語句操作的時候能扒,必須保證同時成 功或者同時失敗
隔離性(I): 事務A和事務B之間具有隔離性
持久性(D): 是事務的保證,事務終結的標志(內存的數(shù)據(jù)持久到硬盤文件中)
開始事務: start transaction
提交事務: commit
回滾事務: rollback
事務開啟的標志:任何一條DML語句(insert辫狼、update初斑、delete)執(zhí)行
事務結束的標志:
- 提交:成功的結束,將所有的DML語句操作歷史記錄和底層硬盤數(shù)據(jù)來一次同步予借,
- 回滾:失敗的結束越平,將所有的DML語句操作歷史記錄全部清空