Mysql主鍵相關的sql語句集錦

2022-09-29 13:18:14 字數 2316 閱讀 1506

新增表字段

alter table table1 add transactor varchar(10) not null;

alter table   table1 add id inimfbdcsqxvt unsigned not null auto_increment primary key

修改某個表的字段型別及指定為空或非空

alter table 表名稱 change 欄位名稱 欄位名稱 字段型別 [是否允許非空];

alter table 表名稱 modify 欄位名稱 字段型別 [是否允許非空];

alter table 表名稱 modify 欄位名稱 字段型別 [是否允許非空];

修改某個表的欄位名稱及指定為空或非空

alter table 表名稱 change 欄位原名稱 欄位新名稱 字段型別 [是否允許非空

刪除某一字段

alter table mytable drop 字段 名;

新增唯一鍵

alter table `test2` add unique ( `userid`)

修改主鍵

alter table `test2` drop primary key ,add primary key ( `id` )

增加索引

alter table `test2` add index ( `id` )

alter table `category ` modify column `id`  int(11) not null auto_increment first ,add primary key (`id`);

修改主鍵的sql語句塊如下:

22 declare @defname varchar(100)

declare @cmd varchar(500)

declare @tablename varchar(100)

declare @keyname varchar(100)

set @tablename='temp1'

set @keyname='id' --需要設定的key,分隔

select @defname= name

from sysobjects so

join sysconstraints sc

on so.id = sc.constid

where object_name(so.parent_obj) = @tablename

and xtype='pk'

if @defname is not null

begin

select @cmd='alter table '+ @tablename+ ' drop constraint '+ @defname

--print @cmd

exec (@cmd)

endelse

set @defname='pk_'+@keyname

select @cmd='alter table '+ @tablename+ ' add constraint '+ @defname +' primary key clustered('+@keyname+')'

exec (@cmd)

如何取主鍵欄位名稱及字段型別--得到主鍵欄位名

1:select table_name,column_name from information_schema.key_column_usage

where table_name<>'dtproperties'

2:exec sp_pkeys @table_name='表名'

3:select o.name as 表名,c.name as 欄位名,k.colid as 字段序號,k.keyno as 索引順序,t.name as 型別

from sysindexes i

join sysindexkeys k程式設計客棧 on i.id = k.id and i.indid = k.indid

join sysobjects o on i.id = o.id

join syscolumns c on i.id=c.id and k.colid = c.colid

join systypes t on c.xusertype=t.xusertype

where o.xtype = 'u' and o.name='要查詢的表名'

and exists(select 1 from sysobjects where xtype = 'pk' and parent_obj=i.id and name = i.name)

order by o.name,k.colid

本文位址: /shujuku/mysql/112861.html

MySQL相關SQL語句

alter table 表名 auto increment 1000 nullif exper1,exper2 如果expr1 expr2 成立,那麼返回值為null,否則返回值為 expr1 ifnull exper1,exper2 判斷exper1是否為空,是則用exper2代替 mysql連線...

sql語句建立主鍵

對於有資料的表,在企業管理器裡面建立索引時,容易超時,使用sql語句只要在,工具 選項設定超時值為0,就不會超時。sql語句建立有聯合主鍵的表 create table tabcheck check id int not null,check no int not null,startdate da...

刪除mysql主鍵語句 MySQL主鍵新增 刪除

2改動資料庫和表的字符集 alter database maildb default character set utf8 改動資料庫的字符集 alter table mailtable default character set utf8 改動表的字符集 假設您想要把錶預設的字符集和全部字元列 c...