MySQL<數據庫和表的基本操作>
數據庫和表的基本操作
數據庫基礎知識
創建數據庫
就是在數據庫系統中劃分一塊存儲數據的空間
CREATE DATABASE itcast;
查看數據庫
SHOW CREATE DATABASE 數據庫名稱;
修改數據庫
ALTER DATABASE 數據庫名稱 DEFAULT CHARACTER SET 編碼方式 COLLATE 編碼方式_bin;
刪除數據庫
DROP DATABASE 數據庫名稱;
數據類型
整數類型
浮點數類型和定點數類型
日期與時間類型
字符串和二進制類型
數據表的基本操作
創建數據表
查看數據表
show create table 表名\G;
describe 表名;
修改數據表
修改表名
alter table 舊表名 rename [to] 新表名;
修改字段值
alter table表名 change 舊字段名 新字段名 新數據類型;
修改字段的數據類型
alter table 表名 modify 字段名 數據類型;
添加字段
alter table 表名 add 新字段名 數據類型[約束條件][first|after已存在字段名];
“FIRST” 是可選參數,用於將新添加的字段設置為表的第一個字段。
“AFTER”是可選參數,用於將新添加的字段添加到指定的“已存在字段名”的後面。
刪除字段
alter table 表名 drop 字段名;
修改字段的排序位置
alter table 表名 modify 字段名1 數據類型 first|after 字段名2;
刪除數據表
drop table 表名;
表的約束
主鍵約束(primary key)
唯一標識表中的記錄
字段名 數據類型 primary key
primary key(字段名1,字段名2,...)
外鍵約束(foreign key)
非空約束(not null)
字段的值不能為NULL
字段名 數據類型 not null;
唯一約束(unique)
保證數據表中字段的唯一性,即表中字段的值不能重復出現
字段名 數據類型 unique
默認約束(default)
字段名 數據類型 default 默認值
設置表的字段值自動增加
為表中插入的新記錄自動生成唯一的ID
字段名 數據類型 auto_increment
索引
索引的概念
好比新華字典的音序表,它是對數據庫表中一列或多列的值進行排序後的一種結構,其作用就是提高表中數據的查詢速度。
6種索引
普遍索引是由KEY或INDEX定義的索引,它是MySQL中的基本索引類型,可以創建在任何數據類型中,其值是否唯一和非空由字段本身的約束條件所決定。
唯一性索引是由UNIQUE定義的索引,該索引所在字段的值必須是唯一的。
全文索引是由FULLTEXT定義的索引,它只能創建在CHAR、VARCHAR或TEXT類型的字段上,而且,現在只有MyISAM存儲引擎支持全文索引。
單列索引指的是在表中單個字段上創建索引,它可以是普通索引、唯一索引或者全文索引,只要保證該索引只對應表中一個字段即可。
多列索引指的是在表中多個字段上創建索引,只有在查詢條件中使用了這些字段中的第一個字段時,該索引才會被使用。
空間索引是由SPATIAL定義的索引,它只能創建在空間數據類型的字段上。
創建索引
1、創建表的時候創建索引
CREATE TABLE 表名(字段名 數據類型[完整性約束條件],
字段名 數據類型[完整性約束條件],
......
字段名 數據類型
UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY
[別名] (字段名1 [(長度)]) [ASC|DESC])
);
UNIQUE:可選參數,表示唯一索引
FULLTEXT:可選參數,表示全文索引
SPATIAL:可選參數,表示空間索引
INDEX和KEY:用來表示字段的索引,二者選一即可
ASC和DESC:可選參數,ASC表示升序排列,DESC表示降序排列
別名:可選參數,表示創建的索引的名稱
字段名1:指定索引對應字段的名稱
長度:可選參數,用於表示索引的長度
2、使用CREATE INDEX 語句在已經存在的表上創建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名
ON 表名 (字段名 [(長度)] [ASC|DESC]);
3、使用ALTER TABLE語句在已經存在表上創建索引
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX
索引名 (字段名 [(長度)] [ASC|DESC])
刪除索引
1、使用ALTER TABLE刪除索引
ALTER TABLE 表名 DROP INDEX 字段名
2、使用DROP INDEX刪除索引
DROP INDEX 索引名 ON 表名;
MySQL<數據庫和表的基本操作>