MySQL中如何針對表進行添加、修改、刪除欄位?

2020-12-25 吳凌萱

昨兒和大家一起看了,如何創建表,及建表過程中的注意事項,今天我們繼續針對表的操作來分享,主要是關於如何針對表進行,添加、修改和刪除欄位等內容,具體我們來一起看下。

前期的準備工作,還是一樣的,進入mysql,進入我們自己創建的資料庫mysql_test,找到需要修改的表,先來看一下目前表的結構:

desc emp;

查看表結構

目前我們是三個欄位,表名稱是emp,現在想修改表名稱為t_emp,具體命令如下:

alter table emp rename t_emp;

修改表的名稱

顯示成功,來驗證一下,顯示一下所有的表,看名稱是否修改完成:

show tables;

查看資料庫下的表

看到上圖中,只有一張t_emp的表,表示修改成功了。

現在我們來追加一個欄位,加一個員工生日birthday,具體命令如下:

alter table t_emp add column birthday date;

追加birthday欄位

顯示添加成功,注意,這裡添加的欄位,是默認在最後面追加的,而且在添加欄位的時候,需要將欄位名稱,及對應的欄位類型,都說明清楚,不然無法添加。我們來看下添加效果:

desc emp;

查看最新表的結構

呀,這裡怎麼會報錯呢?我們看下這段話是啥意思,是說mysql_test資料庫下的emp表不存在?為什麼呢?明明一開始建的時候是有的呀?原來我們之前已經改過表的名稱為t_emp,所以這裡的命令需要更新的:

desc t_emp;

查看最新表的結構

這樣就能看到表的最新結構,可以看到最後一列,就是我們新增的生日這個欄位。那若是我們想在指定列後面增加欄位,應該如何操作呢?

我們需要在姓名後面,增加一個年齡age的欄位,命令如下:

alter table t_emp add age int(2) after ename:

在指定列後面添加欄位

修改成功之後,看一下效果:

desc t_emp;

查看最新的表結構

這樣就看到age這個欄位,就在ename後顯示了。今天和大家有個互動,大家可以思考一下,若是我想在birthday列之前插入一個dept_id int(6),那應該如何操作呢?大家可以想一想,隨意發揮哦~

若是要刪除欄位呢,我先將dept_id的欄位添加進去,然後練習一下刪除這個欄位,先來看一下表,目前是有dept_id這個欄位的:

添加新的欄位dept_id

現在我們刪除一下:

alter table t_emp drop dept_id;

再對比一下,表中已經刪除這個欄位了。

那若是要修改表中的age欄位,長度由int(2),變更為int(3):

alter table t_emp modify age int(3);

修改之後,再做對比,修改已成功。

對比修改前後的表結構

修改長度用modify,那若是既修改類型,又修改長度呢?將年齡改成t_age,長度為4:

alter table t_emp change age t_age int(4);

再對比一下,很明顯,已經修改成功了。

基本上,針對表的添加、修改、刪除欄位,就這些內容了,各位有什麼問題麼?若是有問題歡迎留言或私信我,我們一起學習,一起成長。

PS:記得上面遺留的一個小問題哦?

若是我想在birthday列之前插入一個dept_id int(6),應該如何操作呢,我們下次再聊。

相關焦點

  • mysql怎麼處理大表在不停機的情況下增加欄位
    MySQL中給一張千萬甚至更大量級的表添加欄位一直是比較頭疼的問題,遇到此情況通常該如果處理?本文通過常見的三種場景進行案例說明。使用工具在線添加雖然Online DDL添加欄位時,表依舊可以讀寫,但是生產環境使用場景中對大表操作使用最多的還是使用工具pt-osc或gh-ost添加。
  • 利用VBA代碼在已有的數據表中刪除,添加,修改欄位
    大家好,今日繼續給大家講解VBA資料庫解決方案的第21講,如何利用VBA代碼在已有的數據表中刪除,添加,修改欄位。1現在要增加一個「電子郵箱」的欄位,先設計這個欄位的長度為10個字符,然後再修改一下到50個字符,當然在增加「電子郵箱」的欄位前要先判斷原數據表中是否存在這個欄位,如果存在要先刪除這個欄位
  • MySQL怎麼刪除#sql開頭的臨時表
    原因如果MySQL在一個 ALTER TABLE操作(ALGORITHM=INPLACE)的中間退出,那麼可能會留下一個佔用系統空間的臨時表。例如,在對一張表(大表)添加索引時中途中斷、磁碟不足導致異常或正在添加索引時實例被kill等等情況所致。
  • 【問答】MySQL如何給欄位添加注釋
    create table student( s_no int not null comment '學號', s_name varchar(100) comment '姓名') comment = '學生'如上面的創建表語句,欄位 s_no 和 s_name 後面通過關鍵字 comment 來給對應的欄位添加注釋。
  • MySQL和Oracle的添加欄位的處理差別 (r10筆記第73天)
    昨天在微信群中有個朋友也是無意中問了一下,說資料庫中的表欄位想保持一種相對規範的順序,怎麼辦?在MySQL要實現添加欄位的順序性,語句可以這樣寫:ALTER TABLE test    ADD COLUMN `amount_sum`  double(255,0) AFTER `amount_name`;即在欄位amount_name後添加欄位amount_sum難道是MySQL中的這種方式技高一籌
  • 怎麼修改Mysql數據表中的視圖
    本篇文章主要給大家介紹mysql數據表中怎麼進行修改視圖的操作。通俗的說,視圖是由SELECT語句組成的查詢定義的虛擬表,也就是由一張或多張表中的數據組成的。視圖就如同mysql基本表一樣,對表能夠進行的一般操作都可以應用於視圖,比如創建,查詢,插入,修改,刪除操作等。下面我們就結合簡單的示例給大家繼續介紹mysql視圖的修改操作。其實視圖的修改就相當於SQL語句的修改。首先我們可以通過cmd命令行工具連接mysql資料庫。
  • 如何用SQL語句添加和修改欄位?
    用SQL語句添加欄位並不難,下面小編整理了SQL添加和修改欄位的基本命令,希望對各位小夥伴有所幫助。增加欄位:alter table 表名 add 欄位名 type not null default 0在指定位置插入新欄位:alter table 表名 add [column] 欄位名 欄位類型 是否可為空 comment '注釋' after
  • MySQL資料庫教程-修改數據表結構與刪除表
    但在一些條件下也是可以修改數據表結構的,如剛定義好的新表,本節主要介紹數據表結構的修改語法及實例。01修改表的欄位修改表的欄位主要類型包括刪除欄位、添加新欄位、修改欄位名稱、修改欄位類型四種操作類型。我們以上一篇文章創建的數據表為例對修改表欄位進行說明。
  • 如何使用MySQL資料庫
    如下圖:在有密碼的情況下,使用「-p」選項來進行密碼校驗。如下圖:註:進入「mysql>」的資料庫操作環境後,用戶可以輸入各種操作語句對資料庫進行管理。每條MySQL操作語句以分號「;」表示結束,輸入時可以區分大小寫,但習慣上將MySQL語句中的關鍵字部分大寫。示例:查看當前資料庫服務的基本信息。
  • 在mysql中如何刪除記錄?delete關鍵字了解一下
    在上一篇文章中我們學習了如何更新mysql中的數據內容,用到的是update這個關鍵字,今天我們要學習的是如何讓在mysql中刪除記錄,也就是從箱子裡面拿走東西,用到的關鍵字是delete這個關鍵字,下面我們就通過一個例子來了解一下。
  • MySQL中的分區表
    例如:想批量刪除大量數據可以清除整個分區。通過跨多個磁碟來分散數據查詢,來獲得更大的查詢吞吐量,這個是分區表的最大優點。如何查看分區信息對於一個分區表,如何查看這個表的分區信息?我們可以使用show create table xxx;查看某一個表的分區信息。那麼一個分區表,如何查看每一個分區中,都存儲了多少數據呢?
  • MYSQL資料庫操作案例
    MySQL中刪除數據表是非常容易操作的, 但是你再進行刪除表操作時要非常小心,因為執行刪除命令後所有數據都會消失。如需有條件地從表中選取數據,可將 WHERE 子句添加到 SELECT 語句中。= NULL;MySQL ALTER命令當我們需要修改數據表名或者修改數據表欄位時,就需要使用到MySQL ALTER命令。開始本章教程前讓我們先創建一張表,表名為:testalter_tbl。
  • 重新學習Mysql資料庫1:無廢話MySQL入門
    該系列博文會告訴你如何從入門到進階,從sql基本的使用方法,從MySQL執行引擎再到索引、事務等知識,一步步地學習MySQL相關技術的實現原理,更好地了解如何基於這些知識來優化sql,減少SQL執行時間,通過執行計劃對SQL性能進行分析,再到MySQL的主從複製、主備部署等內容,以便讓你更完整地了解整個MySQL方面的技術體系,形成自己的知識框架。
  • MySQL表添加了一個欄位,竟然導致數據無法寫入,反思
    這個工單的操作是目前自動化不支持的,因為需求是刪除已有的索引,然後添加新的索引欄位。 當我看到問題的時候,我感覺到一種異常,但是又實在說不清楚,所以準備當面溝通下。此時我需要了解的是業務的查詢模型,即通常都有哪些場景的查詢,而一旦這個room新欄位在複合索引中,而如果條件不滿足,則這個索引列不會被用到,其實效果更糟。 而通過溝通,我驚奇的發現業務對於這個表的使用是有問題的。他說如果不添加索引欄位room,業務就寫入不了數據了。
  • 原創MySql專題之第三篇--表的操作
    表格行被稱為記錄(表中的數據),表格列被稱為欄位。drop table t_student;這種刪除方式,若資料庫中沒有這樣的表格,報錯drop table if exists t_student;最好採用這種方式刪除,這是mysql的特色,其他資料庫中無法使用二、添加、修改和刪除表中的數據
  • Java開發工程師如何在Mysql資料庫中創建表
    首先我們需要在資料庫中創建兩張表用來學習MyBatis對資料庫增刪改查的使用方法。如果是新安裝的資料庫可以直接複製我下面的sql進行表創建,如果是已使用中的資料庫可能表明會與我的表名衝突,需要創建一個新的database再執行sql,也可以直接刪除原來的表,如果表有外鍵關聯需要先解除外鍵約束再刪除。
  • Mysql基本語法知識點小結
    NOT EXISTS] 表名;刪除資料庫mysql>DROP DATABASE [IF EXISTS] 資料庫名;刪除資料庫列表:mysql>DROP TABLE [IF EXISTS] 表名;
  • 用SQL語句在資料庫中對表的列進行添加、修改、刪除及增加約束
    用SQL語句在SQL Server中進行各種操作是非常常見的操作,今天整理了一下用SQL語句在SQL Server中進行創建表,然後對表的列添加、修改、刪除及增加約束。刪除一列(刪除EmpAddress列)alter table Employees drop column EmpAddressSQL語句增加列增加一列(增加一列EmpAddr varchar(1000))
  • 考前複習必備MySQL資料庫(關係型資料庫管理系統)
    查看數據表查看表分:查看資料庫中包含哪些表查看某個表的具體結構使用的語句有show語句和describe語句。使用describe語句可以查看表的各個欄位名稱,類型,長度,是否非空,是否有主鍵,默認值以及備註等信息。修改數據表可以修改表名,欄位名,欄位類型等表結構,可使用alter語句來實現修改操作。
  • 基礎SQL-DML語句-對資料庫表數據增刪改
    基礎SQL-DML語句-對資料庫表數據增刪改分類描述關鍵字DML(Data Manipulation Language)數據操作語言用來對資料庫中表的數據進行增刪改insert,delete, update等1.