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;