1. 程式人生 > >mysql數據庫的基本介紹與操作(第二篇)

mysql數據庫的基本介紹與操作(第二篇)

有一個 change com 不能 fault 重置 sql數據庫 兩個 ren

1.創建表:

格式:

create table 表名(

列名 類型 是否可以為空,

列名 類型 是否可以為空,

) engine=innodb default charset=utf8;

例子:

create table t_article (
article_id INT (11) NOT NULL auto_increment,
article_name VARCHAR (200) NOT NULL,
article_author VARCHAR (100) NOT NULL,
article_src VARCHAR (1000) DEFAULT ‘文章來自萬方庫‘,
create_time TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘創建時間‘,
primary key (article_id)
) engine=innodb default charset=utf8;

對以上表結構的解釋:

not null表示該字段的值不能為null.

auto_increment表示該字段是自動遞增的,一張表僅能有一個自增遞增字段,並且該自動遞增的字段同時必須是主鍵,自動遞增列還可以設置步長與初始值.

剛才上面創建了表t_article,article_id字段為遞增字段,在此重新設置遞增列.

2.刪除表:

drop table 表名; 例子:drop table t_article;

#表如果存在則刪除

drop table if exists 表名;例子:drop table if exists t_article;

#清空表

delete * from t_article;(存在遞增字段的話,遞增字段的初始值不為1,執行該刪除語句後,id的初始值不會重置為1).

truncate table t_article;(存在遞增字段的話,遞增字段的初始值不為1,執行該刪除語句後,id的初始值會重置為1).

3.修改表

#添加列

alter table 表名 add 列名 列類型; 例子: alter table t_article add article_keywords varchar(20);

#刪除列

alter table 表名 drop column 列名; 例子: alter table t_article drop column article_keywords;

#修改列

alter table 表名 modify column 列名 類型; 例子: alter table t_article modify column article_src varchar(100);

alter table 表名 change 原列名 新列名 類型; 例子: alter table t_article change article_src article_source varchar(200);

#添加主鍵:

alter table 表名 add primary key(列名);

例子:alter table t_aricle add primary key(article_name); 執行此語句的時候會發生錯誤,提示如下:

技術分享圖片

發生以上錯誤的原因是:在創建t_article表的時候已經將article_id設置為了主鍵,但mysql的表只能有一個主鍵,不能有兩個主鍵,因此這樣的設置是錯誤的.

要想設置article_name為主鍵,可以使用以下兩種解決方案.

方法1:去除t_artilce表的article_id主鍵,執行:alter table t_article drop primary key;繼續執行,發生如下錯誤:

技術分享圖片

錯誤原因已經很明顯了,以上的命令是去掉article_id,但是article_id字段被設置為了自動遞增,遞增列是必須要被設置為主鍵的,也就是

說遞增列是無法解除其主鍵功能的,那該怎麽辦? 很簡單,去掉article_id字段的自動遞增功能唄,去除命令如下:

alter table t_article modify column article_id int(11) not null first;

技術分享圖片

去除表t_article中article_id的自動遞增功能,再去除字段article_id的主鍵功能,執行結果如下:

技術分享圖片

very good,這樣就可以賦予表t_article中article_name的主鍵功能了,執行結果如下:

技術分享圖片

完美,第一種方法演示結束.

方法2:將article_id與article_name設置為聯合主鍵.按照下面四個步驟進行.

第一步: alter table t_article modify column article_id int(11) not null first; --刪除article_id自動遞增功能.

第二步: alter table t_article drop primary key; --刪除article_id字段的主鍵特性.

第三步 : alter table t_article add primary key(article_id,article_name); --設置article_id與article_name為聯合主鍵.

第四步 : alter table t_article modify column article_id int(11) not null auto_increment; --恢復article_id的自動遞增功能.

操作結果如下:

技術分享圖片

#刪除主鍵

alter table 表名 drop primary key; ----alter table t_article drop primary key;(存在遞增列,一定要先刪除遞增列的自動遞增功能,再執行此語句).

mysql數據庫的基本介紹與操作(第二篇)