[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编辑  收藏  举报

导航