1、增加一個字段
//增加一個字段,默認(不)為空 alter table user add COLUMN new1 VARCHAR(20) DEFAULT (NOT) NULL;
2、批量增加字段
方法一:使用事務
bagin; //事務開始 alter table tbname add field1 int(11); alter table tbname add field2 varchar(10) ; alter table tbname add field3 decimal(10,2) ; alter table tbname add field2 varchar(10) ; commit; //提交事務,事務結束
事務(transaction)是由一系列操作序列構成的程序執行單元,這些操作要么都做,要么都不做,是一個不可分割的工作單位。
方法一:mysql 批量為表添加多個字段--->格式:
alter table 表名 add (字段1 類型(長度),字段2 類型(長度),字段3 類型(長度))
alter table tbname add (field1 int(11),field2 varchar(10), field3 int);
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 修改前字段名 修改后字段名稱 varchar(10) 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 tbname change getPrice getPrice varchar(50) default null AFTER getNum;
8、判斷表tablename中的字段field是否存在
IF COL_LENGTH('tablename', 'field') IS NOT NULL
PRINT '存在'
ELSE
PRINT '不存在'
示例:
if COL_LENGTH('tbname', 'myfield') is null Begin Alter table tbname add column myfield decimal(18,2); End Go
方法一:
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
9、在創建存儲過程、函數、視圖前判斷是否存在,存在先刪除再創建:
drop procedure/function/view if exists pro..name/fun..name/viewname; Create procedure/function/view......
