ALTER TABLE:添加,修改,删除表的列,约束等表的定义。
- 查看列:desc 表名;
- 修改表名:alter table t_book rename to bbb;
- 添加列:alter table 表名 add column 列名 varchar(30);
- 添加带注释的列:alter table directory add index_url varchar(256) default null comment '章节书目链接' after dir_url;
- 删除列:alter table 表名 drop column 列名;
- 修改列名MySQL: alter table bbb change nnnnn hh int;
- 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
- 修改列名Oracle:lter table bbb rename column nnnnn to hh int;
- 修改列属性:alter table t_book modify name varchar(22);
sp_rename:SQLServer 内置的存储过程,用与修改表的定义。
MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列
- 查看表的字段信息:desc 表名;
- 查看表的所有信息:show create table 表名;
- 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
- 添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
- 删除主键约束:alter table 表名 drop primary key;
- 删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);
- 修改表名:alter table t_book rename to bbb;
- 添加列:alter table 表名 add column 列名 varchar(30);
- 删除列:alter table 表名 drop column 列名;
- 修改列名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);
-
MySQL修改字段默认值
解决
alter table topic alter column cateId set default '2';
语法
alter table表名alter column字段名drop default; (若本身存在默认值,则先删除)
alter table 表名 alter column 字段名 set default 默认值;(若本身不存在则可以直接设定)
- 添加带默认值,带字段描述的列:ALTER TABLE jz_order ADD COLUMN delay_delivery tinyint(3) DEFAULT 0 COMMENT '是否延期收货,0:表示没有延期,1:第一次延期 2:第二次延期' AFTER c_userid;
sp_rename:SQLServer 内置的存储过程,用与修改表的定义。
INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。
eg:insert ignore into table(name) select name from table2
MySQL 相关数据库、表、表结构等显示命令
1、显示数据库列表。
show databases;2、显示库中的数据表:use mysql;show tables;3、显示数据表的结构:describe 表名;4、建库:create database 库名;5、建表:use 库名;create table 表名 (字段设定列表);6、删库和删表:drop database 库名;drop table 表名;7、将表中记录清空:delete from 表名;