MYSQL查询唯一的数据

MYSQL查询唯一的数据,第1张

select * from tbl_name where username='XXX' limit 1

不过你的名字既然是唯一的,建立索引,那样会更快

www.quzixi.com上去看Mysql基础的资料

你用那个图形界面的软件,来加就可以了,应该在索引那一栏里面,自己写语句修改表,弄不好会出错的,还麻烦。

1.建表时加上唯一性约束

CREATE TABLE `t_user` (

`Id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(18) NOT NULL unique,

`password` varchar(18) NOT NULL,

PRIMARY KEY (`Id`)

) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk

2.给已经建好的表加上唯一性约束

ALTER TABLE `t_user` ADD unique(`username`)

我机器上没有数据库,没验证这2个sql,不晓得行不行,大概是这样的吧。

有些人用程序来给数据做约束的,比如约束用户名,

DataSet ds = dao.queryForDataSet(connName,"select * from t_user where username=? and password=?",new Object[]{username,password},0,0,false)

if(ds.size()==1){

//登陆成功

}else if(ds.size()>1){

//冻结此账户,记录错误日志

}else{

//告知用户账号不存在或者密码错误

}

插入用户之前事先查询一下这个用户是否存在,可以用ajax做验证账号是否重复的效果,很多网站都是这么干的

主键:是唯一标示当前表里的那一列,用主键可以代替表里一条实体的内容,如:你有一个名字,有你的住址,电话号码,籍贯,学位,政治面貌,等属性,但唯一能够标示你的还是你的身份z号,因为别人有可能有跟你同样的名字,或者同样的住址,或者同样的的学位。。但身份z是唯一的。通过身份z,我完全知道你本人。索引:就相当于你买了一部字典的目录,通过目录,可以找到你需要查找的内容。索引不是自动有的,在数据库中,必须根据表里的字段建立索引。唯一:也是一种约束,将字段设置唯一约束后,该字段在表里的所有“记录”将是不同的,比如将学号设置为唯一,第一个学生,学号 00001;那么第二个学生 学号 可以是 00002或者00003 而不能设置为 00001,如果,设置为00001的话,数据库将报:字段违反唯一约束,这样做的目的是为了每个学生有不同的学号。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7180373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存