mysql - table mysql表/表操作

目录

1.创建表对象(指定主键/指定编码)

2.查看表信息(查字段/查创建sql/查被锁否)

3.修改表(改表名/修改表注释/改字段/增删改主键/自增主键)

4.修改字符集

5.删除表&清空表&复制表


1.创建表对象(指定主键/指定编码)

(1)单主键并指定编码

create table log(

logid int(4) primary key not null auto_increment,

logtitle varchar(32) not null,

logcontent varchar(160) not null,

logtime datetime not null,

userip varchar(64) not null

) engine=innodb default charset=utf8;

 

(2)带联合主键

create table teste.hlq_test(

id int ,

name varchar(20) ,

class varchar(10),

constraint pk_test primary key (id ,name)) engine=innodb default charset=utf8;

 

2.查看表信息(查字段/查创建sql/查被锁否)

(1)查看表的字段信息

desc 表名;

(2)查看表的创建信息

show create table 表名;

(3)查看被锁的表

show OPEN TABLES where In_use > 0;

 

3.修改表(改表名/修改表注释/改字段/增删改主键/自增主键)

(1)修改表信息

修改表名:alter table test_a rename to sys_app;

修改表注释:alter table sys_application comment '系统信息表';

 

(2)增删改字段

修改列名MySQL: alter table bbb change nnnnn hh int;

修改列名SQLServer:exec sp_rename't_student.name','nn','column';

修改列名Oracle:alter table bbb rename column nnnnn to hh int;

修改列属性:alter table t_book modify name varchar(22);

修改字段类型和注释alter table tab1 modify column col2 int comment '应用的名称';

修改字段类型 alter table sys_application modify column app_name text;

设置字段允许为空 alter table sys_application modify column description varchar(255) null;

增加一个字段,设好数据类型,且不为空,添加注释

alert table sys_application add `url` varchar(255) not null comment '应用访问地址';

添加列为首列:alter table table_name add col_name int first;

添加列在某列后:alter table table_name add cl02 varchar(30) after col1;

删除列:alter table 表名 drop column 列名;

调整字段顺序 alter table t_app change gateway_id gateway_id int not null after aid ;

 

(3)增删改主键

删除主键 alter table table_name drop primary key ;

增加主键 alter table table_name add constraint pk_01 primary key(id);

增加主键 alter table t_app add aid int(5) not null ,add primary key (aid);

修改主键 方法是先删后加

 

(4)自增主键

自增主键优缺点:

数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利;

数字型,占用空间小,易排序,在程序中传递也方便;

如果通过非系统增加记录时,可以不用指定该字段,不用担心主键重复问题。

 

创建自增字段时,指定了AUTO_INCREMENT的列必须要建索引,不然会报错

create table t5 (id int auto_increment,name varchar(20) primary key,key(id));

 

设置auto_increment字段的初始值

ALETER TABLE table_name AUTO_INCREMENT=100000

 

修改为自增字段

alter table newcar change id id int(11) not null AUTO_INCREMENT;

Alter table tb change id id int(10);//删除自增长

 

增加自增主键 alter table t_app add aid int(5) not null auto_increment ,add primary key (aid);

修改为自增主键 alter table t_app modify column aid int(5) auto_increment ;

 

4.修改字符集

修改表字符集

alter table table_name convert to character set utf8;

修改表字段的字符集

ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

 

5.删除表&清空表&复制表

(1)删除表

删除表:DROP TABLE tbl_name;

或者是:DROP TABLE IF EXISTS tbl_name;

 

(2)清空表数据

delete from table1

truncate table table1

 

(3)复制表

只复制表结构及索引主键,不复制数据

CREATE TABLE table2 LIKE table1;

只复制表结构和数据,不复制索引主键

create table tb1 as select * from tb2 where 1<0;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值