學習MySQL之DDL語言

2021-10-04 21:50:59 字數 1822 閱讀 6542

1庫和表的管理

1、庫的管理

建立庫: create database [ if not exists ]庫名;

刪除庫: drop database [if exists]庫名;

2、表的管理

①建立表

create table [ if not exists ]表名(

欄位名字段型別[字段約束],

欄位名字段型別[字段約束]

);②修改表

修改表名: alter table表名rename to新錶名;

新增新字段: alter table表名add column新字段名字段型別[約束] ;

修改字段型別或約束: alter table表名modify column欄位名新字段型別[新字段約束] ;

修改欄位名: alter table表名change column舊欄位名新欄位名新字段型別[新字段約束] ;

刪除字段: alter table表名drop column欄位名;

③刪除表

drop table [if exists]表名;

④複製表

僅僅複製表的結構: create table表名like舊表;

可以複製表的結構+資料: create table表名子查詢;

2常見資料型別介紹

整型: tinyint、smallint. int、 bigint

浮點型: float(m,n)、double(m,n)、 decimal(m,n)

n:小數點後最多保留的位數

m:整數+小數最多的位數

m和n都是可選的

示例: float(5,3)能儲存的數值範圍: -99.999-99.999

按精度排序: decimal>double>float

字元型:

char(n):n可選,預設是1.固定長度的字元,效率較高,適合儲存長度固定的字段

varchar(n) : n必選,不能省略。可變長度的字元,效率較低,適合儲存長度變化較大的字段

text:儲存較長文字

日期型:

date只能儲存日期

time只能儲存時間

datetime儲存日期+時間所佔位元組空間: 8 ,能表示的日期範圍較大

timestamp儲存日期+時間所佔位元組空間: 4 ,能表示的日期範圍較小

3、常見約束

not null: 非空,該字段的值必填

unique: 唯一,該字段的值不可重複

default: 預設,該字段的值不用手動插入有預設值

check: 檢查, mysql不支援

primary key: 主鍵,該字段的值不可重複並且非空uniquetnot null

foreicn ky: 外來鍵,該字段的值引用了另外的表的字段

分類:表級約束和列級約束

支援列級約束: not null、pefault、unique、 priamry key、check

支援表級約束: unique、priamry key、foreign key

主鍵和唯一

1、區別:

①、乙個表至多有一乙個主鍵,但可以有多個唯一

②、主鍵不允許為空,唯一可以為空

2、相同點

都具有唯一性

都支援組合鍵,但不推薦

外來鍵:1、用於限制兩個表的關係,從表的字段值引用了主表的某字段值

2、外來鍵列和主表的被引用列要求型別- -致,意義-樣,名稱無要求

3、主表的被引用列要求是乙個key (一般就是主鍵)

4、插入資料,先插入主表。刪除資料,先刪除從表

MySQL之資料定義語言(DDL)

資料定義語言 用來建立資料庫,資料庫物件和定義列的命令。mysql uroot p輸入密碼後進入mysql,exit或quit退出 檢視所有資料庫show databases 建立資料庫create database 資料庫名 刪除資料庫drop database 資料庫名 切換進入某個資料庫use...

MySQL之DDL(資料定義語言)

主要用於資料庫和表的管理和操作 create database ifnot exists studbdrop databses if exists studb 建立表 create table if not exists 表名 欄位名 字段型別 字段約束 欄位名 字段型別 字段約束 欄位名 字段型別...

mysql學習筆記之六(資料定義語言DDL)

sql語言包括四類種主要程式語言類別的語句 資料定義語言 ddl 資料操作語言 dml 及資料控制語言 dcl 還有事務控制語言 tcl 資料定義語言 ddl 例如 create drop alter等語句。資料操作語言 dml 例如 insert 插入 update 修改 delete 刪除 語句...