导航:首页 > 编程大全 > 数据库主键字段类型

数据库主键字段类型

发布时间:2024-01-14 12:39:17

数据库表的主键列用什么类型合适varchar、long还是integer

这要看你的需要了,就性能而言,还是整形值的效率会高些(很有限),如果记录多就用long,否则用int,如果有特殊需要用varchar也没什么,在性能上的表现是不明显的。整形值比字符形的另一个优点就是可以通过数据库实现自增加列,减少编程的复杂性。

㈡ 数据库中什么字段可设为主键

只要是唯一不重复的都可以当主键,不过如果你你找不到,就加一个主键字段,纯数字的,好控制

㈢ 数据库表中的主键和外键

主外键的存在是依托两个实体之间的关系而存在的;
比如班级与学生的关系:
一个班级可以有多个学生,并且一个学生只能属于一个班级,这就是一对多的关系;
那么设计数据库的时候就应该在学生表内存放班级的ID作为外键,为什么不在班级表内放学生呢?
因为,你想一想班级表内如果放学生那么记录可能就是这样:
1班ID 1班 xx同学id
1班ID 1班 xx同学id
..
这是不允许的,班级表内班级为主键,是唯一的不允许相同记录的;
下面简单给你讲下大概建成的表结构
--建班级表
create table class(
classid int primary key,--定义班级ID为主键
classname varchar(15)
)
--建学生表
create table students(
studentid int primary key,--定义学生ID为主键
classid int ,--外键值,跟班级表classid 属性类型相同
stuname varchar(20),--学生姓名
---定义外键
foreign key(classid) references class(classid) --本表classid是基于class表classid的外键
)
---------
如上定义了主外键后,两个表间的关系就是一对多的关系了,并且学生表内的classid必须依托班级表的classid存在,也就是说外键必须要主键存在的时候才能创建,例如:
--在班级表为空的情况往学生表插入一条记录是不允许的:
insert into students(studentid,classid,stuname)values(1,1,'小明')
系统会抛出异常提示主键表班级表内班级ID不存在这样是不允许插入的;
必须要先往班级表内插入一条记录:
insert into class(classid,classname)values(1,'一班')
后才能执行插入前面一条往学生表插入信息的语句..

--------------可了解一些了?真累啊.

㈣ 数据库主键可以为String类型吗

主键可以用String类型,但是有两点不好的地方。其一:不能自增。其二:使用查询时,String会比Int慢的多。

㈤ 数据库题 主键有哪几种类型

主返碰或键有

“吵芹自动编号”主键
单字段主键
多字段漏伍主键

这三种

阅读全文

与数据库主键字段类型相关的资料

热点内容
java7随机数 浏览:890
网络连接度是什么意思 浏览:610
头条文件路径在哪里 浏览:833
java主进程 浏览:5
软件app怎么分享给别人 浏览:547
win10怎么取消使用简单文件共享 浏览:470
微信小程序编译不变 浏览:551
地推推广哪些app好 浏览:974
win10怎么查无线网密码是多少 浏览:66
数控车工如何考编程 浏览:48
邮政手机app怎么解绑手机号 浏览:780
cs找不到安装文件 浏览:716
苹果5s玻璃屏是跟白色框一起的吗 浏览:204
做编程手提电脑什么配置好 浏览:283
怎么设置网络快捷开关 浏览:61
u盘大于4g文件怎么复制 浏览:390
数控车床极坐标六角怎么编程 浏览:930
三菱编程控制伺服用什么指令 浏览:60
酷派手机强制4g代码 浏览:173
java数组转成list 浏览:670

友情链接