資料庫管理系統:database management system,它負責管理資料的儲存、安全、一致性、併發、恢復和訪問等操作。
資料字典:用於儲存dbms所擁有的每個事務的相關資訊,如名字、結構、位置和型別;這種關於資料的資料也稱為元資料。
資料庫發展歷程:網狀型資料庫–》層次型資料庫–》關聯式資料庫–》物件導向資料庫
mysql儲存機制:
1、檢視mysql中包含多少個資料庫
show databases;
2、建立新的資料庫
create
database 資料庫名;
3、刪除指定資料庫
drop
database 資料庫名;
4、進入指定資料庫
use 資料庫名;
5、查詢資料庫中包含的所有表
show tables;
6、檢視指定資料表的表結構
desc 表名;
ddl:運算元據庫物件的語句,包括create、alter、drop
資料庫物件:table(表)、constraint(約束)、view(檢視)、index(索引)、function(函式)、procedure(儲存過程)、trigger(觸發器)、資料字典
通過子查詢建表
2. 修改表結構的語法
增加列定義
alter
table 表名 add(欄位名 字段型別);
alter
table a add(aaa varchar(255) default
'aaa');
修改列定義
alter
table 表名 modify 欄位名 字段型別;
alter
table a modify aaa int;
刪除列
alter
table 表名 drop 欄位名;
alter
table a drop aaa;
重新命名列
alter
table 表名 change 舊欄位名 新欄位名 新字段型別;
alter
table a change aaa bbb int;
重新命名表
alter
table 舊表名 rename to 新錶名;
alter
table a rename to b;
刪除表的語法
drop
table 表名;
drop
table a;
truncate表(截斷)
刪除該錶所有資料,但保留表結構
truncate 表名;
truncate aaa;
資料庫完整性約束
- not null:非空約束,指定某列不能為空
- unique:唯一約束,指定某列或者幾列組合不能重複
- primary key:主鍵,指定該列的值可以唯一的標識該條記錄
- foreign key:外來鍵,指定該行記錄從屬於主表中的一條記錄,主要用於保證參照完整性
- check:檢查,指定乙個布林表示式,用於指定對應列的值必須滿足該表示式
(mysql不支援check約束)
注:mysql使用information_schema資料庫裡的table_constraints表來儲存該資料庫例項中的所有的約束資訊
- not null
alter
table 表名 modify 欄位名 字段型別 null/not
null;
alter
table a modify aaa int
notnull;
alter
table 表名 add 欄位名 字段型別 unique;
alter
table a add aaa int
unique;
foreign key(b_id) references b(b_id)
constraint fk_id foreign key(b_id) references b(b_id)
alter
table a add
foreign
key(b_id) references b(b_id);
QT 資料庫操作(以MYSQL為例)
一 載入sql驅動 修改專案檔案pro,新增 qt sql 包含標頭檔案 include 載入資料庫驅動 qsqldatabase db qsqldatabase adddatabase qmysql 設定賬號密碼 db.sethostname localhost db.setdatabasenam...
資料庫學習記錄(以MySQL為例)
docker pull mysql latest docker run restart always name study mysql p 3306 3306 e mysql root password 123456 d mysql latest 登入容器 docker exec it study ...
php 資料訪問(以mysql資料庫為例)
建乙個連線,造乙個連線物件 db new mysqli localhost root 123 mydb 判斷是否出錯 if mysqli connect error mysqli connect error die 連線失敗 寫sql語句 sql select from info 執行sql語句,返...