Logo
Section 1 / 5

表的修改

学习如何在创建后修改 SQL 表。

导入

表的修改

学习如何在创建后修改 SQL 表。

-- Products 表定义

-- CREATE TABLE Products ( -- ProductID INT PRIMARY KEY AUTO_INCREMENT, -- ProductName VARCHAR(50) NOT NULL UNIQUE, -- CategoryID INT, -- Price DECIMAL(10, 2) NOT NULL, -- Stock INT NOT NULL, -- FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID) -- );

ALTER TABLE Products ADD COLUMN ProductDescription VARCHAR(255);

DESCRIBE Products;

-- Products 表定义

-- CREATE TABLE Products ( -- ProductID INT PRIMARY KEY AUTO_INCREMENT, -- ProductName VARCHAR(50) NOT NULL UNIQUE, -- CategoryID INT, -- Price DECIMAL(10, 2) NOT NULL, -- Stock INT NOT NULL, -- ProductDescription VARCHAR(255), -- FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID) -- );

ALTER TABLE Products DROP COLUMN ProductDescription;

DESCRIBE Products;

-- Products 表定义

-- CREATE TABLE Products ( -- ProductID INT PRIMARY KEY AUTO_INCREMENT, -- ProductName VARCHAR(50) NOT NULL UNIQUE, -- CategoryID INT, -- Price DECIMAL(10, 2) NOT NULL, -- Stock INT NOT NULL, -- FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID) -- );

ALTER TABLE Products MODIFY COLUMN ProductName VARCHAR(100);

DESCRIBE Products;

ALTER TABLE TableName MODIFY ColumnName Type Constraint;

-- Customers 表定义

-- CREATE TABLE Customers ( -- CustomerID INT PRIMARY KEY AUTO_INCREMENT, -- CustomerName VARCHAR(50) NOT NULL, -- Email VARCHAR(50), -- Phone VARCHAR(15), -- Address VARCHAR(100) -- );

ALTER TABLE Customers MODIFY Phone VARCHAR(15) NOT NULL;

DESCRIBE Customers;

-- Customers 表定义

-- CREATE TABLE Customers ( -- CustomerID INT PRIMARY KEY AUTO_INCREMENT, -- CustomerName VARCHAR(50) NOT NULL, -- Email VARCHAR(50), -- Phone VARCHAR(15) NOT NULL, -- Address VARCHAR(100) -- );

ALTER TABLE Customers MODIFY Phone VARCHAR(15) NULL;

DESCRIBE Customers;

DROP TABLE TempTable;

字段类型允许为空键默认值额外
CategoryIDintNOPRINULLauto_increment
CategoryNamevarchar(50)NOUNINULL
IsActivetinyint(1)YES1

-- Categories 表定义

-- CREATE TABLE Categories ( -- CategoryID INT PRIMARY KEY AUTO_INCREMENT, -- CategoryName VARCHAR(50) NOT NULL UNIQUE -- );

ALTER TABLE Categories ADD COLUMN IsActive BOOLEAN DEFAULT TRUE;

DESCRIBE Categories;

ALTER TABLE Categories ADD COLUMN IsActive BOOLEAN DEFAULT TRUE;

DESCRIBE Categories;

字段类型允许为空键默认值额外
CategoryIDintNOPRINULLauto_increment
CategoryNamevarchar(50)NOUNINULL

-- Categories 表定义

-- CREATE TABLE Categories ( -- CategoryID INT PRIMARY KEY AUTO_INCREMENT, -- CategoryName VARCHAR(50) NOT NULL UNIQUE, -- OldCategoryCode INT -- );

ALTER TABLE Categories DROP COLUMN OldCategoryCode;

DESCRIBE Categories;

ALTER TABLE Categories DROP COLUMN OldCategoryCode;

DESCRIBE Categories;

字段类型允许为空键默认值额外
SupplierIDintNOPRINULLauto_increment
SupplierNamevarchar(50)NONULL
Emailvarchar(50)YESNULL
Phonevarchar(20)NOUNINULL
Addressvarchar(100)YESNULL

-- Suppliers 表定义

-- CREATE TABLE Suppliers ( -- SupplierID INT PRIMARY KEY AUTO_INCREMENT, -- SupplierName VARCHAR(50) NOT NULL, -- Email VARCHAR(50), -- Phone VARCHAR(15), -- Address VARCHAR(100) -- );

ALTER TABLE Suppliers MODIFY COLUMN Phone VARCHAR(20) NOT NULL UNIQUE;

DESCRIBE Suppliers;

ALTER TABLE Suppliers MODIFY COLUMN Phone VARCHAR(20) NOT NULL UNIQUE;

DESCRIBE Suppliers;

字符串和日期函数

管理索引