如何让一个表的主键自增?sql 建表语句是什么?
该字段有什么限制?必须是int的吗?
varchar的行不行?如果行那怎么算啊?a001 a002?
sql建表语句是什么?
方法如下:
例如:
create table student(
Sno int identity(1,1) primary key,
Sname varchar(100)
)
这样我们的Sno字段就可以实现自增了,第一个参数是标识种子(就是开始的值),第二个参数是标识增值(每次增加多少)
这里我们开始为1,每次增加1
如果做插入的话,则:
insert into student values('李四')
注意values里面不要写自增字段名的值,因为数据库会自动帮你生成。
例如第一行为 1 小明
insert into student values('李四')
变为 1 小明
2 李四
扩展资料
SQL SERVER几种数据迁移
使用数据库客户端(SSMS)的界面工具。右键选择要导出数据的数据库,选择“任务”——“导出数据”,而导入则相反,导入时,SQLServer会默认创建一张新表,字段名也默认跟导入的Excel标题一样,并且会默认字段数据类型等。
当然在可以在向导进行修改。需要注意的是如果标题不是英文而是中文,默认创建字段名也是中文,这将给后面数据更新操作带来麻烦,所以最好还是以有意义的英文字段名。把数据导入后,再通过执行语句,把数据插入/更新到业务表。
从SQLServer2005开始,可以直接在SSMS上查询出来的结果复制,然后粘贴到Excel上,对于少量数据来说,是非常快速方便的,需要注意的是长数字可能会变成科学记数法的形式,提前在Excel上指定列的格式为文本即可。
导入的话,ctrl + c 复制Excel上的数据,然后在选择相关表,编辑数据,把数据直接粘贴上去即可。但是不建议直接粘贴到业务表(如果表是空白没有数据,并且字段顺序对应,可以这样操作),而是建议先粘贴到一个新建的中间表中,然后再通过语句,把数据插入/更新到业务表。
这种方法的导出导入,适合于少量的数据,如5000行以内的记录,大于5000行以上就不建议了,速度较慢,如果数据过大,还一定成功。
参考资料
1、CREATE TABLE表名(字段名 [int] IDENTITY (1, 1) NOT NULL ...)
2、在SQL SERVER中,所有整数类型的列都可以定义成自增长列,叫作“标识”,
它通过设定“标识种子”和“标识递增量”来实现功能。
当你插入一行后,会从1开始自动的赋值(1、2、3、4……255)。
方法为:
1、选中表;
2、右击鼠标,设计;
3、选中列(整数类型);
4、设定标识为“是“(默认为“否”)、标识种子和标识递增量(一般为1)。
注:SQL SERVER 2000更好使用,全中文版界面,分类更清晰。
扩展资料:
sql server中如何设置自动增长字段:
1、通过字段属性设置
2.通过”查询分析器”以SQL方式创建,打开查询分析器,在查询窗口中输入SQL语句create database test –创建test数据库。
create table test (id int IDENTITY(1,1) not null,test text) 其中的IDENTITY(自动编号的初始舒值,自动编号的增量)即设置自动编号。
本回答被网友采纳SQL Server 自增主键创建语法:
identity(seed, increment),其中为seed 起始值,increment 为增量。示例如下:
create table student //创建学生表
(id int identity(1,1),
name varchar(100) ) // id字段为自增
自增字段的类型必须为不带小数的数值类型。
扩展资料:
实现自增字段的其他方法:
下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:
CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),PRIMARY KEY (P_Id)
)
参考资料:百度百科-标识列
本回答被网友采纳1、主键自增,以及建表的语句如下:
CREATE TABLEIF NOT EXISTS `t_email_notice` (
`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,`send_time` INT (16) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中 `id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,这句话表示设置id字段字增,类型为int
2、varchar类型的主键,不会自增。但是你可以通过创建触发器的形式,来实现自增。代码如下:
CREATE TRIGGER `T` BEFORE INSERT ON `user`FOR EACH ROW begin
set new.id=concat('SH',lpad(((SELECT substring(id,3,4) from user where id=(select id from user order by id desc limit 1))+1),4,0));
end;
这段语句的意思是,当user表中新插入一条一条语句,会触发‘触发器T’将以’SH‘开头的id字段自增+1。
扩展资料
sql语句建表规则如下:
create table ‘表名’ (‘字段1’ type1 [not null] [primary key] identity(起始值,递增量),‘字段2’ type2 [not null], ...)--primary key为主键 identity表示递增数量。
本回答被网友采纳方法如下:
例如:
create table student(
Sno int identity(1,1) primary key,
Sname varchar(100)
)
这样我们的Sno字段就可以实现自增了,第一个参数是标识种子(就是开始的值),第二个参数是标识增值(每次增加多少)
这里我们开始为1,每次增加1
如果做插入的话,则:
insert into student values('李四')
注意values里面不要写自增字段名的值,因为数据库会自动帮你生成。
例如第一行为 1 小明
insert into student values('李四')
变为 1 小明
2 李四
扩展资料:
SQL Server:修改字段属性总结
1:向表中添加字段
Alter table [表名] add [列名] 类型
2: 删除字段
Alter table [表名] drop column [列名]
3: 修改表中字段类型 (可以修改列的类型,是否为空)
Alter table [表名] alter column [列名] 类型
4:添加主键
Alter table [表名] add constraint [ 约束名] primary key( [列名])
5:添加唯一约束
Alter table [表名] add constraint [ 约束名] unique([列名])
6:添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7:添加约束
Alter table [表名] add constraint [约束名] check (内容)
8:添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9:删除约束
Alter table [表名] add constraint [约束名]
10:重命名表
exec sp_rename '[原表名]','[新表名]'
11:重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'
参考资料来源:IT专家网——SQL Server:修改字段属性总结
本回答被网友采纳sql server中如何实现自增字段?
1、主键自增,以及建表的语句如下:CREATE TABLEIF NOT EXISTS `t_email_notice` (`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,`send_time` INT (16) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;其中 `id` INT (11) UNSIGNED NOT NULL AUTO_IN...
sql server建表时怎么设置ID字段自增
1 、在SQL Server Management Studio中实现SQL Server自增字段 打开SQL Server Management Studio,打开数据库之后,在选中的表上点“修改”,在选中需要设置为自增的字段,在右下方的表设计器里选择“标识规范”,选“是”,就设定即可。也可以在表的属性窗口中设置设置标识列:2、使用SQL语句在程序或者...
sql server中如何实现自增字段?
自增字段的类型必须为不带小数的数值类型。
SQL Server Oracle如何实现自增ID
而在Oracle中,自增ID通常使用序列和触发器来管理。首先创建序列:CREATE SEQUENCE ZTB_ZHSP_TEST_FID INCREMENT BY 1 START WITH 1 NOCACHE;接着,表的定义中包含自增字段FID:CREATE TABLE ZTB_ZHSP_TEST( MATNR CHAR(50), MAKTX CHAR(200), FID NUMBER(10) );然后,为表创建触发器,确保插入...
在SqlServer中怎样设置自动增长字段
SqlServer有3种方式设置自增列,SSMS中在图形化界面中建表时,设置自动增长的其实值及每次增量 --语句建表时设置自增列,从1开始增长,每次增加1 create table test(col1 int indentity(1,1,))--修改列为从1开始增长,每次增加10 alter table test alter col1 int indentity(1,10)
sql server建表时怎么设置ID字段自增
1 、在SQL Server Management Studio中实现SQL Server自增字段 打开SQL Server Management Studio,打开数据库之后,在选中的表上点“修改”,在选中需要设置为自增的字段,在右下方的表设计器里选择“标识规范”,选“是”,就设定即可。也可以在表的属性窗口中设置设置标识列:2、使用SQL语句在程序或者...
sql server建表时怎么设置ID字段自增
1、首先打开想要设置输入数字后单元格自动填充颜色的表格。2、以下将在输入数量介于30到100之间的时候自动填充该处单元格颜色,该怎么操作呢?3、首先选中表格区域。4、点击上方工具栏中的“条件格式”按钮。5、在下拉菜单中点击“新建规则”选项。6、在新建格式规则界面中,选择“只为包含以下内容的单元...
sql server创建自增字段怎么实现
1、命令方式 alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL 这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1 2、图形化方式 新建表,插入列,设置列属性,标识增量为步长,标识种子为开始数 ...
如何在sql server创建表的时候设置自动增加字段
如果用代码实现那么如下:CREATE TABLE 表名(字段名 [int] IDENTITY(1,1)NOT NULL)在SQL SERVER中,所有整数类型的列都可以定义成自增长列,叫作“标识”,它通过设定“标识种子”和“标识递增量”来实现功能。1、选中表; 2、右击鼠标,设计; 3、选中列(整数类型) 4、设定...
我想在SQL server中使用自增序列,怎么使用
1、SQLServer可以在表中直接设定某个字段为自增序列字段,来得比ORACLE容易得多,具体操作参看下图:(当然,也可以使用建表语句或修改表的语句来实现。)相关知识点延伸:1、MSSQL没有特定的dual表,也没有系统级的sequence。2、Sequence是数据库系统的特性,有的数据库实现了Sequence,有的则没有。比...