数据库 mysqlcheck 的使用方法的相关知识是本文我们主要要介绍的内容,我们知道,mysqlcheck,是mysql自带的可以检查和修复MyISAM表,并且它还可以优化和分析表,mysqlcheck的功能类似myisamchk,但其工作不同。
主要差别是当mysqld 服务器 在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。使用myisamchk修复失败是不可逆的。
1.如果需要检查并修复所有的数据库的数据表,那么可以使用:
2.如果需要修复指定的数据库用
3.如果使用其他用户名修复
这里admin是指定的mysql用户帐号。
4.如果使用指定的mysql.sock进入数据库并修复
这里/tmp/mysql.sock是指定的mysql.sock存放的路径。
关于MySQL数据库mysqlcheck的使用方法的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
数据库怎么设置录入限制,就是在一个时间段内能够增加内容,其余时间不能增加内容? 兄弟分不多,谢谢各位
你说的这个如果不用程序控制的话很麻烦,DBMS本身并没有对数据录入时间的限制,只是在建表语句里面的check项中检查一下数据有关的东西,但是这个功能应该可以变通实现,比如在你录入的数据项中增加一个系统时间字段,,然后在另一个表里面录入时间段数据,建表语句有一个check检查你录入的时间和你限定时间段,在录入数据的时候check系统时间和你录入的时间段,如果不满足check的话,是无法录入数据的 触发器我也想过,按个办法太麻烦,先插入,不满足在回滚或删除,容易出错不太适合,在建表语句里面加check比较稳妥
如何获得登录时的用户名和密码

登陆界面的<input>标签中没有name属性你怎么可能获得到登陆界面的密码,下面有两种,应该有你要的。
<html>
<head>
<title>用户注册</title>
<scripttype="text/JavaScript"language="javascript">
functioncheck()
{
with(){
if(!=)
{
alert("您的密码不一致,请重新输入!");
="";
="";
}
[0]();
}
}
</script>
</head>
<body>
<center>
<formaction="addUserServlet"method="post"name="myform">
<h2>用户注册</h2>
<br>
用户名:<inPuTTYpe="text"name="newuser">
<br>
原密码:<inputtype="password"name="password1">
<br>
新密码:<inputtype="password"name="password2">
<br>
<inputtype="button"value="提交"onclick="check()">
<inputtype="reset"value="重置">
</form>
</center>
</body>
</html>
上面就是用script来比较,如果不相同,就会弹出一个窗口显示密码不一样然后清空密码框,如果两个密码相同就跳转acction地址。
上面是注册时候用的。
如果本身就有用户名和密码而你想要获取数据库里面的密码的话你还需要一个servlet以及一个数据库连接类。
下面应该是你要的东西,获取数据库里面的密码和用户名并且与输入的进行比较:
publicvoiddoGet(httpservletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
StringuserName=("username");//取得用户名
Stringpassword=("password");//取得密码
DBTestdb=newDBTest();
booleanCanLogin=(userName,password);
if(canLogin){
("登陆成功");
}else{
("用户名或密码错误");
}
}
数据库连接类:
;
;
;
;
;
publicclassDBTest{
booleanbInited=false;
//加载驱动
publicvoidinitJdBC()throwsClassNotFoundException{
//加载MYSQLJDBC驱动程序
("");
bInited=true;
("SucceSSLoadingMysqlDriver!");
}
publicConnectiongetConnection()throwsClassNotFoundException,SQLException{
if(!bInited){
initJdBC();
}
Connectionconn=("jdbc:mysql://localhost:3306/test","数据库用户名","连接数据库的密码");
returnconn;
}
publicbooleanloginSuccess(StringuserName,Stringpassword){
booleanreturnValue=false;
Stringsql="select*fromuser";
Connectionconn=null;
=null;
ResultSetrs=null;
try{
conn=getConnection();
stmt=();
rs=(sql);
while(()){
StringuserNameInDB=("name");
StringpasswordInDB=("pwd");
if((userName)&&(password)){
returnValue=true;
break;
}
}
}catch(ClassNotFoundExceptione){
//TODO:handleexception
();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
();
}
returnreturnValue;
}
}
上面没有做中文处理,中文用户名应该会错误,你自己做吧
原创的,你试试
关系数据库有哪几种完整性
3.1 SQL 中的完整性约束SQL把各种完整性约束作为数据库模式定义的一部分。 既有效防止了对数据库的意外破坏,提高了完整性检测的效率,又可以减轻编程人员的负担。 SQL对三种不同完整性约束的设置及检测,采取了不同的方式加以实现。 下面分别介绍。 3.1.1 实体完整性和主码实体完整性规定,主码的任何属性都不能为空,因为,概念模型中实体和联系都是可区分的,而且它们以码为唯一性标识。 如果,主码的属性值可以为空,则意味着在概念模型中存在着不以码为唯一性标识的实体。 这显然是前后矛盾的。 那么怎样保证实体完整性呢?SQL中实体完整性是通过主码来实现的。 一旦某个属性或属性组被定义为主码,该主码的每个属性就不能为空值,并且在关系中不能出现主码值完全相同的两个元组。 主码的定义是在Create Table 语句中使用 Primary Key关键字来实现的。 方法有两种:a) 在属性定义后加上关键字 Primary Key;b) 在属性表定义后加上额外的定义主码的子句:Primary Key(<主码属性名表>)说明:² 如果主码仅由一个属性组成,上述两种方法都可定义,若由两个或以上的属性组成,则只能用上述第二种方法定义了。 ² 对于候选码的说明方法,可以用Unique说明该属性的值不能重复出现。 Unique的使用与Primary Key相似。 ² 一个表中只能有一个主码定义,但可以有多个Unique说明。 ² SQL中,并没有强制为每个关系指定主码,但为每个关系指定主码通常会更好一些。 (因为主码的指定可以确保关系的实体完整性)3.1.2 参照完整性约束与外部码参照完整性是对关系间引用数据的一种限制。 即:若属性组A是基本关系R1的外码,它与基本关系R2的主码K相对应,则R1中每个元组在A上的值必须:要么取空值,要么等于R2中某元组的主码值。 一、外部码约束的说明:SQL中就是利用外部码的说明来实现参照完整性约束,限制表中某些属性的取值的。 外部码的说明也有两种方法:1、在该属性的说明后直接加上关键字”REFERENCES <表名>(<属性名>)”,其中表名称为参照关系名,属性名称为参照关系的主码。 2、在Create Table 语句的属性清单后,加上外部码说明子句,格式为:FOREIGN KEY <属性名表1> REFERENCES <表名>(<属性名表2>)上式中的属性名表1和属性名表2中属性可以多于一个,但必须前后对应。 二、参照完整性约束的实现策略前面讲了,外部码的取值只有两种情况:要么取空,要么取参照关系中的主码值。 可是当用户操作违反了这个规则时,如何保持此约束呢?SQL提供了三种可选方案:1、RESTRICT(限制策略):当用户对表进行违反了上述完整性约束、条件的插入、删除或修改操作时,将会被系统拒绝。 2、CASCADE(级联策略):当对参照关系进行删除和修改时,SQL所提供的一种方案。 在这种策略下,当删除或修改参照关系中某元组的主码值时,被参照关系中,那些外部码具有该值的元组也将被删除或修改,以保证参照完整性。 3、SET NULL(置空策略):置空策略也是针对参照关系的删除或修改操作的。 在这种策略下,当删除参照关系中的某一元组或修改某一元组的主码值时,被参照关系中外码值等于该主码值的元组在该外码上的值将被置空说明:当用户不指定参照完整性的实现策略时,一般被默认为RESTRICT(限制策略)。 实现策略的说明通常被加在外部码的说明后面,格式为:ON DELETE SET NULL ON UPDATE CASCADE。 3.1.3 用户自定义完整性约束对于用户自定义完整性约束,SQL提供了非空约束、对属性的CHECK约束、对元组的CHECK约束、触发器等来实现用户的各种完整性要求。 1、非空约束:在CRETE TABLE 中的属性定义后面加上NOT NULL关键字即定义了该属性不能取空值。 2、基于属性的CHECK约束使用CHECK(检查)子句可保证属性值满足某些前提条件。 其一般格式为:CHECK(<条件>)它既可跟在属性定义的后面,也可在定义语句中另增一子句加以说明。 如:CHECK(age>=18 AND age<=65); CHECK(sex IN (“男”,”女”)); CHECK(dno IN(select dno from department));从上例中可以看出,CHECK子句的条件中还可以带子查询。 3、基于元组的CHECK约束基于元组的CHECK约束往往要涉及到表中的多个域。 所以它是元组约束。 在对整个元组完成插入或对某一元组的修改完成之后,系统将自动检查是否符合CHECK条件表达式。 若不符合条件,系统将拒绝该插入或修改操作。 基于元组CHECK约束的说明方法是在CREATE TABLE语句中的属性表、主码、外部码的说明之后加上CHECK子句。 3.1.4 约束的更新约束与数据库中的表和视图一样,可以进行增、删、改的更新操作。 为了改和删约束,需要在定义约束时对其进行命名,在各种约束的说明前加上关键字CONSTRAINT 和该约束的名称即可。 例如:在employee表的create table语句中:eno char(4) CONSTRAINT PK_employee PRIMARY KEY,dno char(4)CONSTRAINT FK_employee FOREIGN KEY REFERENCES department(dno);当对各种约束进行命名后,就可以用ALTER TABLE语句来更新与属性或表有关的各种约束。 如:ALTER TABLE employee DROP CONSTRAINT FK_employee;ALER TABLE Salary ADD CONSTRAINT RightSalary CHECK(Insure+Fund
发表评论