[MySQL & Python] 03. 创建和修改表
创建表
Mysql中 , -- 为注释
- 创建表
CREATE TABLE 表名 (
列名 类型 AUTO_INCREMENT PRIMARY KEY
列名 类型 NOT NULL DEFAULT 默认值,
列名 类型 NULL
) DEFAULT CHARSET = utf8 ;
一般一个表只有一个自增列,自增列一般都是主键。
- 删除表
DROP TABLE 表名
- 清空数据表
DELETE FROM 表名
TRUNCATE TABLE 表名 (此命令无法回滚和撤销)
mysql> CREATE TABLE users( -> id int PRIMARY KEY AUTO_INCREMENT, --主键,自增 -> name varchar(16) not null, --不允许空 -> email varchar(32) null, --允许空值 -> age int default 3 --默认值 = 3 -> )DEFAULT CHARSET=utf8 ; Query OK, 0 rows affected (0.02 sec)
- 查看表的数据结构
desc 表名
修改表
- 为表添加列
ALTER TABLE 表名 ADD 列名 类型 NOT NULL DEFAULT 默认值 ;
ALTER TABLE 表名 ADD 列名 类型 PRIMARY KEY NOT NULL AUTO_INCREMENT ;
mysql> ALTER TABLE users ADD password varchar(64) not null ; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0
- 为表删除列
ALTER TABLE 表名 DROP 列名 ;
mysql> ALTER TABLE users DROP password ; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
- 为表修改列
ALTER TABLE 表名 MODIFY COLUMN 列名 类型 ;
ALTER TABLE 表名 CHANGE 原列名 新列名 新类型 ;
mysql> ALTER TABLE users MODIFY COLUMN id varchar(10);
mysql> ALTER TABLE users MODIFY COLUMN age int DEFAULT 3 NOT NULL;
mysql> DESC USERS;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | varchar(10) | NO | PRI | NULL | |
| name | varchar(16) | NO | | NULL | |
| email | varchar(32) | YES | | NULL | |
| age | int(11) | NO | | 3 | |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
- 修改列的默认值
ALTER TABLE 表名 ALTER 列名 SET DEFAULT 新值 ;
- 删除列的默认值
ALTER TABLE 表名 ALTER 列名 DROP DEFAULT ;
- 添加主键
ALTER TABLE 表名 ADD PRIMARY KEY (列名) ;
- 删除主键
ALTER TABLE 表名 DROP PRIMARY KEY ;
mysql> ALTER TABLE users ALTER age SET DEFAULT 20; -- 修改默认值 Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> ALTER TABLE users DROP PRIMARY KEY; -- 删除主键 Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> ALTER TABLE users ADD PRIMARY KEY (id); -- 增加主键 Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc users; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | varchar(10) | NO | PRI | NULL | | | name | varchar(16) | NO | | NULL | | | email | varchar(32) | NO | | NULL | | | age | int(11) | NO | | 20 | | +-------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
posted on 2022-04-01 23:26 LeoZhangJing 阅读(46) 评论(0) 编辑 收藏 举报