MySQL表操作
- 創建表
- 查看表結構
- 修改表結構
- 增加一列
- 刪除一列
- 修改某一列的屬性
- 修改某一列的名字
- 修改某一列的屬性和名字
- 插入幾條信息
- 刪除表
創建表
語法:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校驗規則 engine 存儲引擎;
說明:
- field 表示列名
- datatype 表示列的類型
- character set 字符集,如果沒有指定字符集,則以所在數據庫的字符集為準
- collate 校驗規則,如果沒有指定校驗規則,則以所在數據庫的校驗規則為準
案例一
create table users1 (
id int,
name varchar(20) comment '用戶名',
password char(32) comment '密碼是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
案例二
create table users2 (
id int,
name varchar(20) comment '用戶名',
password char(32) comment '密碼是32位的md5值',
birthday date comment '生日'
) character set utf8 engine innodb;
總結提供上面兩個案例我們可以看到不同的存儲引擎,創建表的文件不一樣。這個在后面的文章再細說。
查看表結構
語法:
desc 表名;
修改表結構
增加一列
-- 1. 增加一列
ALTER TABLE 表名
ADD COLUMN 新列名 數據類型 [約束] [位置];-- 示例:在 users 表添加 age 列
ALTER TABLE users
ADD COLUMN age INT NOT NULL DEFAULT 0 AFTER email;
刪除一列
-- 2. 刪除一列
ALTER TABLE 表名
DROP COLUMN 列名;-- 示例:刪除 users 表的 phone 列
ALTER TABLE users
DROP COLUMN phone;
修改某一列的屬性
-- 3. 修改某一列的屬性(不改變列名)
ALTER TABLE 表名
MODIFY COLUMN 列名 新數據類型 [新約束];-- 示例:將 name 列改為 VARCHAR(100) 非空
ALTER TABLE users
MODIFY COLUMN name VARCHAR(100) NOT NULL;
修改某一列的名字
-- 4. 修改某一列的名字(不改變屬性)
ALTER TABLE 表名
CHANGE COLUMN 舊列名 新列名 原數據類型;-- 示例:將 address 列改名為 location
ALTER TABLE users
CHANGE COLUMN address location VARCHAR(255);
修改某一列的屬性和名字
-- 5. 同時修改列名和屬性
ALTER TABLE 表名
CHANGE COLUMN 舊列名 新列名 新數據類型 [新約束];-- 示例:將 created_at 改名為 reg_date 并改為 DATE 類型
ALTER TABLE users
CHANGE COLUMN created_at reg_date DATE NOT NULL;
插入幾條信息
-- 示例:向 users 表插入三條記錄
INSERT INTO users (name, email, age, reg_date)
VALUES ('張三', 'zhangsan@example.com', 25, '2023-01-15'),('李四', 'lisi@example.com', 30, '2023-02-20'),('王五', 'wangwu@example.com', 28, '2023-03-10');
刪除表
語法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
例子
drop table users1;;