mysql创建数据库问题!
mysql怎么建立数据库,打个比方 我想建立一个 能注册 登陆 提交的表单,数据库应该怎么设字段?
1 ID,密码,注册时间,是否被冻结 这些常用的选项应该用什么字段类型
2 整数型:TINYINT 1字节 带符号的:-128-127 不带符号的:0-255
这个的意思是不是 TINYINT 只能设定0-255 其中一个数,那肯定不能用在ID 和密码上,因为ID 和密码不可能只用一位数,我自己理解的 不知道对不对·······
新人问题多 见谅 用通俗点讲解 最好举个例子什么的 麻烦各位了
答案:1.一般不要用id,name等作为列名,这些都是关键字.
2.一般用户id用bigint型,如大型网站注册人比较多.
3.登陆账号不能相同,但姓名可以相同,有同名存在.
4.密码不建议全用数字,要用字符型.还要用md5进行加密
6.以下是一个简单的用户表请参考
create table t_user
(
uid bigint not null auto_increment comment '用户流水号,自动编号',
longName varchar(20) comment '登陆账号',
password varchar(20) comment '密码',
userName varchar(20) comment '姓名可以重复,有同名存在',
active tinyint(1) comment '启用账号,禁用账号 1-启用 2-禁用',
deptId int comment '部门id',
userGroupId int comment '用户组id,用于权限控制',
primary key (uid)
);
alter table t_user comment '账号表';
/*==============================================================*/
/* 唯一索引,限制账号不可相同 */
/*==============================================================*/
create unique index index_user01 on t_user
(
longName
);
其他:ID,密码,注册时间,是否被冻结 int varchar time int
有bigint 有很多位的 不行还可以用varchar 一般而言,注册ID用整数形虽利于编程,但不利于登陆用户,建议用字符型varchar(n),
密码:varchar,注册时间可用DATETIME或TIMESTAMP,
是否冻结可用char(1)保存'Y'/'N',
关于TINYINT的理解,带符号的:-128-127 不带符号的:0-255 ,除非你的用户少于255个才可用。密码就跟不适合用TINYINT。
上一个:mysql如何用一个表里的两个字段决定另一个表俩面的一个字段?
下一个:MYSQL 有高手能具体举例使用外键,当一个表删除一列,另一个表也删除一列吗?