MySQL數據庫學習·數據表的創建,查看,修改

在這裏插入圖片描述




一.創建數據表

老規矩,先看實例,再看語法。

USE abcd; //使用名爲student的數據庫
CREATE TABLE asus(
id int auto_increment primary key,
user varchar(30) not null,
password varchar(30) not null,
createtime datetime);

在這裏插入圖片描述
提示我寫錯了,仔細看一看,原來是auto_increment被我少寫了一個e。
在這裏插入圖片描述
一個字錯了,就需要從頭再敲,這太費時間了,這裏教大家另一種方法:
打開第一篇文字講過的Navicat Premium這個軟件,選擇一個數據庫,然後點擊查詢,然後新建查詢,在這裏可直接寫sql語句而不在想控制檯那麼麻煩。
在這裏插入圖片描述
在這裏插入圖片描述
總結語法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 數據表名
[(create_defintion...)][table_options][select_statement]

-- create_defintion 格式/參數
 col_name type[NOT | NULL][DEFAULT default_value][AUTO_INCREMENT][PRIMARY][reference_definition]

CREATE TABLE 語句 相關參數的解釋:

關鍵字 說明
TEMPORARY 如果使用該關鍵字,表示創建一個臨時表
IF NOT EXISTS 該關鍵字用於避免表存在時MySQL報告的錯誤
create_definition 這是表的列屬性部分。MySQL要求在創建表時,表要至少包含一列
table_options 表的一些特殊參數其中大多數選項涉及的是表數據如何存儲及存儲在何處,如ENGINE選項用於定義表的存儲引擎,多數情況下,用戶不必指定表選項
select_statement SELECT語句描述部分,用它可以快是創建表

create_definition參數說明:

參數 說明
col_name 字段名
type 字段類型
NOT NULL NULL
DEFAULT default_value 表示默認值
AUTO_INCREMENT 表示是否時自動編號,每個表只能有一個AUTO_INCREMENT列,並且必須被索引
PRIMARY KEY 表示是否爲主鍵,一個表只能有一個PRIMARY KEY,如表中沒有一個PRIMARY KETY,而某些應用程序需要PRIMARY KEY,MySQL將返回第一個沒有任何NULL列的UNIQUE鍵,作爲PRIMARY KEY
reference_definition 爲字段添加註釋

二.查看錶結構

使用SHOW COLUMNS 語句查看

SHOW [FULL]COLUMNS FROM 數據表名 [FROM 數據庫名];
--或
SHOW [FULL]COLUMNS FROM 數據表名.數據庫名;

使用DESCRIBE 語句查看

DESCRIBE|DESC 數據表名;
-- 只顯示一列的信息
DESCRIBE 數據表名 列名;

三.修改數據表

添加新字段及修改字段定義:

USE abcd;
ALTER TABLE abcd ADD email VARCHAR(50) not null, --添加新字段
modify user VARCHAR(40); --冰修改字段user的字段類型

通過ALTER 語句修改表列,前提事必須將表中數據全部刪除,然後纔可以修改表列

修改字段名:

ALTER TABLE abcd.asus
CHANGE COLUMN user username VARCHAR(30) NULL DEFAULT NULL; 
--將user改爲username NULL DEFAULT NULL的意思是可以爲空,默認空
--類型不可省略

刪除字段:

USE abcd;
ALTER TABLE abcd DROP email;
--刪除abcd表下的email字段

修改表名:

USE abcd;
ALTER TABLE asus RENAME AS asus_my;

語法總結:

ALTER[IGNORE]TABLE 數據表名 alter_spec[,alter_spec]...|table_options

--alter_spec子句語法格式

ADD[COLUMN]create_definition[FIRST|AFTER column_name]   -- 添加新字段
|ADD INDEX[index_name](index_col_name,...)				--添加索引名稱
|ADD PRIMARY KEY (index_col_name,...)					--添加主鍵名稱
|ADD UNIQUE[index_name](index_col_name,...)				--添加唯一索引
|ALTER[COLUMN]col_name{SET DEFAULT literal|DROP DEFAULT}--修改字段默認值
|CHANGE[COLUMN]old_name_name create_definition			--修改字段名/類型
|MODIFY[COLUMN]create_definition						--修改子句定義字段
|DROP[COLUMN]col_name									--修改字段名稱
|DROP PRIMARY KEY										--刪除主鍵名稱
|DROP INDEX index_name									--刪除索引名稱
|RENAME[AS]new_tbl_name									--更改表名

--create_definition 定義列的數據類型和屬性

--table_options 用於指定表的一下特性參數,多數情況下,不必指定該選項

數據結構核心原理與算法應用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章