mysql-表级别操作

2017-02-21  本文已影响40人  戏之地

创建表

create table tab_name(
            field1 type[完整性约束条件],
            field2 type,
            ...
            fieldn type
)[character set xxx];
create table employee(
            id int primary key auto_increment ,
            name varchar(20),
            gender bit default 1,  
            -- gender char(1)  default 1 -----    或者 TINYINT(1) 
            birthday date,
            entry_date date,
            job varchar(20),
            salary double(4,2) unsigned,
            resume text    -- 注意,这里作为最后一个字段不加逗号
          );
/* 约束:
       primary key (非空且唯一)  :能够唯一区分出当前记录的字段称为主键!
       unique
       not null
       auto_increment 主键字段必须是数字类型。
       外键约束 foreign key  */

查看表信息

desc tb_name
show column from tb_name # 查看表的结构
show tables # 查看当前数据库的所有表
show create table tb_name # 

修改表信息

alter table tb_name 命令

增加字段:add

alter table tab_name 
add [column] 列名 类型[完整性约束条件][first|after 字段名];
alter table tab_name 
add addr varchar(20) not null unique first/after username;
-- first 指在首位增加,after username指在这个字段后面进行增加
-- 上面两者只能选择一个,在最后面
增加多个字段
alter table users2 
        add addr varchar(20),
        add age  int first,
        add birth varchar(20) after name;

修改列类型:modify

alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];
alter table users2 modify age tinyint default 20;
alter table tb_name modify age tinyint after id 

修改列名:change

alter table tab_name 
change 列名 新列名 类型 [完整性约束条件][first|after字段名];
alter table users2 
change age Age int default 28 first;

删除列

alter table tab_name drop 列名;

修改表名

rename table old_name new_name

修改该表所使用的字符集

alter table tb_name character-set utf8 

** 表的编码可以是latin,而且可以修改,有时字段的编码也是latin1,这时删除再新加了**
查看字段的编码
show create table

删除表格

drop table tb_name

主键

添加主键

alter tb_name add primary key;

删除主键

alter tb_name drop primary key,change id id int;
上一篇下一篇

猜你喜欢

热点阅读