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;;