DDL
DDL(Data Definition Language):數據定義語言,它是用來定義,主要負責管理數據對象的。
其中包括數據庫和表格的多種操作
- create (創建)
- drop (刪除)
- alter (修改)
- show (查看)
數據庫命令
查看數據庫的命令
show databases; #查詢所以的數據庫
1,創建數據庫
create database 數據庫名;
2,重複創建同名數據庫會報錯,所以一般都使用:
create database if not exists 數據庫名;
如果不存在"數據庫名"就創建數據庫,存在則跳過這條語句.
create database if not exists 數據庫名;
3,注意默認字符集在MySQL5.7版本中編碼爲Latin1,不支持中文,所以在5.7的版本應改爲:
create database 數據庫名 default charset utf8;
但是在MySQL8.0以上的版本,已經解決了這個問題,8.0以上的版本,默認是utf-8編碼;
charset是字符編碼,如果沒有指定則數據庫無法存儲中文字符
4,刪除數據庫,一旦刪除,數據將難以恢復
drop database 數據庫名;
5,使用數據庫(進入數據庫);
use 數據庫名
數據表的創建與刪除
常用的表查詢命令
desc 數據表
show columns from 數據表
創建表
create table if not exists 表格名程(
屬性名1 屬性類型 [約束...],
......
屬性名n 屬性類型 [約束...],
);#創建表並設置它的屬性
示例:創建學生表,如果已經創建好了就忽略
create table if not exists student_tb(
s_id int, ##學號
s_name varchar(20), ##學生姓名
s_age int, ##學生年齡
s_sex varchar(4), ##性別
s_birthday date ##生日
);
屬性類型
表格在創建的時候,要給每個列名指定一個屬性來存儲
數值類型
類型 | 字節 | 描述 |
---|---|---|
tinyint | 1字節 | 迷你整型(0~255) |
smallint | 2字節 | 小整型(0~65535) |
mediumint | 3字節 | 中等整型 |
int (integer) | 4字節 | 整型 |
bigint | 8字節 | 大整型 |
float | 4字節 | 單精度浮點型 |
double | 8字節 | 雙精度浮點型 |
decimal | 自適應 | 小數類型 |
字符串類型
類型 | 描述 |
---|---|
char(長度) | 定長字符串[0-255] |
varchar(長度) | 自動縮進的字符串 |
tinyblob | 表示小型的二進制數據 |
tinytext | 小型文本 |
mediumblob | 中等大小的二進制數據 |
blob | 二進制數據 |
text | 中型文本 |
longblob | 長二進制數據 |
longtext | 長文本字符串 |
常用的時間和日期類型
數據類型 | 描述 | 格式 |
---|---|---|
date | 日期 | YYYY-MM-DD time |
time | 時間 | HH:mm:SS(24小時制) |
datatime | 日期時間 | YYYY-MM-DD HH:MM:SS |
刪除表
drop table 數據表名;
修改表名
rename table 表名 to 新表名;
查詢表結構
desc 表名 ; show columns from 表名 ;
修改表的結構
增加表中列
alter table [表名] add <屬性列名> <屬性類型> (約束);
修改表中列的數據類型
alter table [表名] modify column <屬性列名> <類型> (約束);
修改表中列的名稱
alter table [表名] change column <屬性列名> <修改爲屬性列名> <類型> (約束);
刪除表中列
alter table [表名] drop column 屬性列名;
DML
數據操縱語言,它是用來操縱數據對象中的數據的。
其中包括數據的
- insert(插入)
- delete(刪除)
- update(更新修改)
表的查詢語句(DQL)
select * from 表格;
表的數據插入
1,選擇需要插入的屬性值
insert into 表名(
屬性名1,屬性名2,…,屬性名n) value(
屬性值1,屬性值2,…,屬性值n);`
2,爲全部屬性插入屬性值,可以不用給表名指定屬性名
insert into 表名 value(屬性值1,屬性值2,…,屬性值n);
注意:這裏的屬性值與屬性名的位置要一一對應。
3,插入多條數據
insert into 表名 values
(屬性值1,屬性值2,…,屬性值n),
(屬性值1,屬性值2,…,屬性值n),
(屬性值1,屬性值2,…,屬性值n);
表中數據的更新
1,更新全部數據
update 表名 set 屬性名1=屬性值1,屬性名2=屬性值2;
2,帶條件更新
update 表名 set 屬性名1=屬性值1,屬性名2=屬性值2 where 屬性名=屬性值;
3,多條件更新
所有條件需要同時滿足用and或‘&&’,不需要同時滿足用or或‘||’。
update 表名 set 屬性名1=屬性值1,屬性名2=屬性值2 where 屬性名1=屬性值1 &&(||) 屬性名2=屬 性值2;
表的數據刪除
1, 全部刪除
delete from 表名;
2,條件刪除
delete from 表名 where 屬性名=屬性值;
3,總結
數據存儲
- 插入數據
- 修改數據
- 刪除數據
- 查詢數據