SqlServer 2008数据库软件使用sql语句创建表的相关事项】主键的自动增长:
方式一:
设置“主键”的sql语句:primary key
标识符:使得进行数据库表插入操作时,使主键自动增长,语句是:identity(1,1)
1、使用sql语句进行创建表:
create table student(
id int identity(1,1) primary key,//主键的设置,还有主键的自动增长
sid varchar(40) not null,
sname varchar(30) not null
)
执行一下:创建表成功
创建自动增长的主键表的具体方式:
详见:
然后进行插入操作:
insert into student (id,sid,sname) values ('232','哈哈')//或者insert into student (id,sid,sname) values (1,'232','哈哈')
//上面的两种插入语句都不可以,都会报错的,因为id是主键,不能为空;是标识符,不需要插入这列的数据,系统会自动的添加数据列的数据。
//所以,正确的写法是:
insert into student (sid,sname) values('2020','gaga')
得到的结果就是:
方式二:
项目中,每个表中都会有好多个字段名,为了使读效果增加,一般都会增加主键,然后主键自动增长(只是起到一个计数的作用而已),这就会省很大的事。
在设计表的时候就需要增加“主键”且还需要“标识列”,这样子在进行插入操作的时候就可以直接将其字段名省略掉;
比如:
注意一:在编写sql语句时:其中flowId是主键,其他的都是普通的字段名 【sql语句中是没有flowId字段名的;】
insert into dbo.Hishop_OrderRetuenFlow (RetuId, OrderId, LinkMan, LinkTel)
values (#retuid:VARCHAR#, #orderid:VARCHAR#, #linkman:VARCHAR#, #linktel:VARCHAR#)
注意二:在进行插入操作时,写url路径时,其中插入的字段的值,也不需要写主键的【易错点】
在进行前后台交互时,也不需要对此字段名进行命名或赋值什么的
方式三:
在创建不同类型的数据库,也会有不同的设置“主键、且主键自动增长”的方式: 如下
其中Mysql数据库创建主键且主键自动增长时,可以直接对字段设置;然而Oracle数据库则不行,需要使用sequence(序列),实现主键的自动增长;
详细见:,{在oracle下触发器实现主键自增}