当前位置:  数据库>mysql

Mysql主键相关的sql语句集锦

    来源: 互联网  发布时间:2014-10-17

    本文导语:  添加表字段 alter table table1 add transactor varchar(10) not Null; alter table   table1 add id int unsigned not Null auto_increment primary key 修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; al...

添加表字段

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

alter table   table1 add id int 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)
 end
else
 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


    
 
 

您可能感兴趣的文章:

  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • mysql 里面的sql语句的连接字符是什么?急用!
  • Mysql增加主键或者更改表的列为主键的sql语句
  • MYSQL速度慢的问题 记录数据库语句
  • Mysql下在某一列后即表的某一位置添加新列的sql语句
  • 允许远程用户访问mysql服务sql语句
  • mysql自定义排序顺序语句
  • mysql查询语句通过limit来限制查询的行数
  • mysql快速添加百万条记录的语句
  • mysql与mssql的md5加密语句
  • mysql 动态执行存储过程语句
  • mysql 前几条记录语句之(limit)
  • mysql通过查看跟踪日志跟踪执行的sql语句
  • MYSQL修改所有表的存储引擎格式语句
  • MySQL 一次执行多条语句的实现及常见问题
  • mysql 获取当天发布的信息的语句
  • mysql中将null值转换为0的语句
  • MySql获取某个字段存在于哪个表的sql语句
  • Mysql 取字段值逗号第一个数据的查询语句
  • MySQL 存储过程中执行动态SQL语句的方法
  • 大家好,在mySQL中建一个自动得日期的字段的语句是什么?
  • mysql常见错误集锦
  • Mysql主键相关的sql语句集锦
  • Mysql常见问题集锦
  • mysql 常用命令集锦[绝对精华]
  • mysql 常用命令集锦(Linux/Windows)
  • mysql 数据库备份和还原方法集锦 推荐
  • mysql 中文乱码 解决方法集锦
  •  
    本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 完全卸载mysql(停止服务、卸载相关程序、删除注册表
  • MySQL 相关的环境变量
  • mysql 关键词相关度排序方法详细示例分析
  • MySQL UDF调试方式debugview的相关方法
  • mysql中自增auto_increment功能的相关设置及问题
  • MySQL中的binlog相关命令和恢复技巧
  • Linux AS5下配置安装PHP5.3.3出现mysql相关错误
  • MySQL与存储过程的相关资料
  • 汇总整理MYSQL相关操作命令
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • centos安装mysql,连接时'Can't connect to local MySQL server through socket '/tmp/mysql
  • VS2012+MySQL+SilverLight5的MVVM开发模式介绍
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • MySQL索引基本知识
  • 在Linux内安装了Mysql,无法进入Mysql.
  • Mysql设置查询条件(where)查询字段为NULL
  • 怎样在linux终端输入mysql直接进入mysql?
  • mysql中字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)
  • c++中关于#include <mysql/mysql.h>的问题?
  • java将类序列化并存储到mysql(使用hibernate)
  • mysql -u root mysql 怎么解释
  • Mysql索引类型:B-Tree索引介绍
  • mm.mysql那里可以下载?www.mysql.com根本下载不了。谢谢了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号