資料庫學習--DDL(資料庫定義語言)
阿新 • • 發佈:2018-12-07
資料庫
建立資料庫
create database if not exists 庫名;
說明:if not exists的存在為了保證資料庫是唯一的,同時保證程式不阻塞
刪除資料庫
drop database if exists 庫名;
說明: if exists 為保證程式不阻塞
表
查詢表
show create table 表名; =》展示建立表的時候的結構的詳細資訊
desc 表名; =》 展示基礎的表資訊
建立表
mysql 5.1版本以下 的不安裝引擎,需自己安裝
charset=utf8; 指定字符集
engine=innodb;指定引擎;
comment=“示例”;添加註釋
create table if not exists Student(
Sno varchar(9) primary key,
Sname varchar(20) unique,
Sage smallint,
Ssex varchar(2),
Sdept varchar(20)
)default charset=utf8 engine=InnoDB comment="示例1";
在每個欄位後跟你想要設定的列特性
列特性的說明
- not null:不為空
- default:設定欄位預設值
- unique:唯一值,一列中只能出現一個
- primary key:主鍵
- auto_increment:自增鍵
修改表
向表中增加一列
alter table 表名 add 列名 特性;
修改表中資料型別
alter table 表名 modify column 列名 新型別;
刪除表中列
alter table 表名 drop 列名;
修改列名或其他 【萬能修改】
alter table 表名 change 舊列名 新列名 特性;
修改特性
主鍵
新增主鍵
alter table 表名 add primary key (列名)
刪除主鍵
alter table 表名 drop primary key
索引
新增唯一值索引
alter table 表名 add unique(列名)
新增全文索引
alter table 表名 add fulltext(列名); 版本需要在5.7及以上
新增普通索引
alter table 表名 add index(列名)
刪除索引
alter table 表名 drop index/unique/fulltext 列名;
修改索引
刪除後再新增;不能直接修改
引擎
修改
alter table 表名 engine=引擎名;
顯示所有引擎
show engines;
自增開始值的修改
alter table 表名 auto_increment=1;
刪除表
drop table 表名;
資料型別
常用的數值,字元,事件
數值型別
型別 | 大小 | 無符號範圍 | 有符號範圍 |
---|---|---|---|
tinyint | 1位元組 | -27,27-1 | 0,2^8 ^-1 |
smallint | 2位元組 | -215,215-1 | 0,2^16 ^-1 |
mediumint | 3位元組 | -223,223-1 | 0,2^24 ^-1 |
int/integer | 4位元組 | -231,231-1 | 0,2^32 ^-1 |
bigint | 8位元組 | -263,263-1 | 0,2^64 ^-1 |
float | 4位元組 | -231,231-1 | 0,2^32 ^-1 |
double | 8位元組 | -263,263-1 | 0,2^64 ^-1 |
unsigned :無符號,最小是0
zerofull:數值位數不足時,用0補齊
字串
型別 | 大小 |
---|---|
char | 255位元組 (定長) |
varchar | 0-65535位元組(彈性) |
tintblob | 0-255位元組(二進位制) |
tinttext | 0-255位元組(文字) |
日期
型別 | 格式 |
---|---|
date | yyyy-mm-dd |
time | hh:mm:ss |
year | yyyy |
datetime | yyyy-mm-dd hh:mm:ss |
timestamp | 時間戳,毫秒數 |
型別為timestamp,預設插入資料的時間,更新時,時間也會變(版本>5.7)