大家好,又见面了,我是你们的朋友全栈君。
1.增加一个字段
代码如下 | 复制代码 |
---|---|
//增加一个字段,默认为空alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认不能为空alter table user add COLUMN new2 VARCHAR(20) NOT NULL; |
2.批量怎加字段
方法一 这里可以使用事务
代码如下 | 复制代码 |
---|---|
bagin; //事务开始alter table em_day_data add f_day_house7 int(11); alter table em_day_data add f_day_house8 int(11); alter table em_day_data add f_day_house9 int(11); alter table em_day_data add f_day_house10 int(11); commit; //提交事务,事务结束 |
事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
方法二 mysql 批量为表添加多个字段 alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));
代码如下 | 复制代码 |
---|---|
alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11)); |
3.删除一个字段
代码如下 | 复制代码 |
---|---|
//删除一个字段alter table user DROP COLUMN new2; |
4.修改一个字段
代码如下 | 复制代码 |
---|---|
//修改一个字段的类型alter table user MODIFY new1 VARCHAR(10); //修改一个字段的名称,此时一定要重新指定该字段的类型alter table user CHANGE new1 new4 int; |
5.批量修改字段名称
代码如下 | 复制代码 |
---|---|
alter table 表 change 修改前字段名 修改后字段名称 int(11) not null, change 修改前字段名 修改后字段名称 int(11) not null, change 修改前字段名 修改后字段名称 int(11) not null, change 修改前字段名 修改后字段名称 int(11) not null, change 修改前字段名 修改后字段名称 int(11) not null |
例子:
代码如下 | 复制代码 |
---|---|
alter table em_day_data change f_day_house11 f_day_hour11 int(11) not null, change f_day_house12 f_day_hour12 int(11) not null, change f_day_house13 f_day_hour13 int(11) not null, change f_day_house14 f_day_hour14 int(11) not null, change f_day_house15 f_day_hour15 int(11) not null, change f_day_house16 f_day_hour16 int(11) not null, change f_day_house17 f_day_hour17 int(11) not null |
6,添加注释
代码如下 | 复制代码 |
---|---|
// 可以为表添加注释ALTER TABLE `table_name` COMMENT’注释‘; // 为字段添加注释,同样适用于修改ALTER TABLE `table_name` CHANGE `column_name` `column_name` type(longth) UNSIGNED NULL DEFAULT NULL COMMENT ‘注释‘ |
7,调整字段顺序:
alter table 表名 change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后) 例子:
代码如下 | 复制代码 |
---|---|
alter table appstore_souapp_app_androidmarket; change getPriceCurrency getPriceCurrency varchar(50) default null AFTER getPrice; |
一.比如说要判断表A中的字段C是否存在两个方法:
(1) 直接查表——有点笨,有点常规
IF EXISTS (
SELECT 1 FROM SYSOBJECTS T1
INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID
WHERE T1.NAME=’A’ AND T2.NAME=’C’
)
PRINT ‘存在‘
ELSE
PRINT ‘不存在‘
(2) 直接判断列长度的函数——短小精悍,可谓精典
IF COL_LENGTH(‘A’, ‘C’) IS NOT NULL
PRINT N’存在‘
ELSE
PRINT N’不存在‘
例如:
方法一:
select * from syscolumns where id=object_id(‘表名‘) and name=’列名‘
说明:存在则返回此列的一条说明记录,不存在返回空;
方法二:
select count(*) from sysobjects a,syscolumns b where a.id=b.id and b.name=’flag1′ and a.type=’u’ and a.name=’T_Pro_ProductClass’
说明:存在返回1,不存在则返回0
二.判断表是否存在、创建表、并加索引:
三、判断存储过程是否存在,并创建存储过程:
四.判断函数是否存在并创建函数:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137501.html原文链接:https://javaforall.cn