MySQL必備知識DDL和DML

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,總結
數據存儲

  • 插入數據
  • 修改數據
  • 刪除數據
  • 查詢數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章