直接创建表:
create table [if not exists] tb_name
-- [IF NOT EXISTS]可选约束,选表明不存在才创建,存在就跳过,
tb_name为创建的表的名字
(column_name1 data_type1 -- 列名和类型必选
[ primary key -- 可选的约束,主键
| foreign key -- 外键,引用其他表的键值
| auto_increment -- 自增ID
| comment comment_value -- 列注释(评论)
| default default_value -- 默认值
| unique -- 唯一性约束,不允许两条记录该列值相同
| not null-- 该列非空
], ...
) [character set charset] -- [可选项]字符集编码
[collate collate_value] -- 列排序和比较时的规则(是否区分大小写等)
使用以下代码创建上述表格
CREATE TABLE IF NOT EXISTS user_info_vip ( id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID', uid int UNIQUE NOT NULL COMMENT '用户ID', nick_name varchar(64) COMMENT '昵称', achievement int DEFAULT 0 COMMENT '成就值', level int COMMENT '用户等级', job varchar(32) COMMENT '职业方向', register_time datetime DEFAULT now() COMMENT '注册时间' ) -- now()返回当前日前和时间
CREATE TABLE IF NOT EXISTS user_info_vip ( id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID', uid int UNIQUE NOT NULL COMMENT '用户ID', nick_name varchar(64) COMMENT '昵称', achievement int DEFAULT 0 COMMENT '成就值', level int COMMENT '用户等级', job varchar(32) COMMENT '职业方向', register_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间' ) -- CURRENT_TIMESTAMP,返回当前日期和时间
一、仅仅复制表的结构
语法:
create table tb_name like tb_name_old
例:复制animal表的结构且复制的表名为animal_1
animal表的结构:复制:
复制后:
二、复制表的结构和数据
语法:: create table
tb_name as select * from tb_name_old where
例:复制animal表的结构和数据且复制的表名为animal_2复制后:
修改表:alter table
表名 修改选项
。选项集合:
1.add
column列名 类型 -- 增加列
2. change column 旧列名 新列名 新列类型 -- 修改列名或类型
3. alter column 列名 set default 默认值 | drop default -- 修改/删除 列的默认值
4. modify column 列名 类型 -- 修改列类型
5. drop column 列名 -- 删除列
6. rename to 新表名 -- 修改表名
7. character set 字符集名-- 修改字符集
8. collate 校对规则名 -- 修改校对规则(比较和排序时用到)
9. add
列名 列类型
after
列名a --在列a之后增加一列
删除表:drop table [if exists] 表名1 [ ,表名2]
。