首页 > 编程知识 正文

mysql数据库存取例子代码,数据库存取方法

时间:2023-12-27 22:26:29 阅读:324353 作者:NOZO

本文目录一览:

怎么在mysql数据库中存储一段带html标签的代码

把字段的类型设置为text或者longtext就可以存储了啊

想看值  就执行查询操作读取出来就可以看了

如何在mysql中存取utf8mb4编码的字符

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。

1. check table 和 repair table

登陆mysql 终端:

mysql -uxxxxx -p dbname

check table tabTest;

如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:

repair table tabTest;

进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:

myisamchk tablename.MYI

进行检测,如果需要修复的话,可以使用:

myisamchk -of tablename.MYI

关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。

-----------------------------

另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:

[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。

需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

oc读取mysql数据库数据完整代码?

给你个例子供你参考

span style="font-size:14px;"#import "StudentDataBase.h"  

#import "DB.h"  

#import "StudentModel.h"  

@implementation StudentDataBase  

//查找所有数据  

+(NSArray *)findAll{  

    sqlite3 * db = [DB DBOpen]; //调用DB open方法  获取数据库指针  

    sqlite3_stmt * stmt;//镜像  copy出来的镜像  不影响sqlite里的内容  

      

    int result = sqlite3_prepare_v2(db, "select * from student", -1, stmt, Nil);  

    //-1是不限制字符串的长度  stmt是往stmt里面赋值  Const char **pzTail是设置前面哪个是不用的  

      

    NSMutableArray * peopels = [NSMutableArray array];      //制作容器  要装数据  

      

    //判断结果  0进判断    result==0表示正确  

    if (SQLITE_OK == result) {  

          

        //判断是否有下一行  

        while (sqlite3_step(stmt) == SQLITE_ROW) {  

            //int iCol 是第几个  

            int stuId = sqlite3_column_int(stmt, 0);                        //取一行中的一个 int是值的类型  

            const unsigned charchar * stuName  = sqlite3_column_text(stmt, 1);  //取一行中的一个 text是值的类型  

            const unsigned charchar * stuSex = sqlite3_column_text(stmt, 2);    //取一行中的一个 text是值的类型  

            float stuScore = sqlite3_column_double(stmt, 3);                //取一行中的一个 double是值的类型  

              

            //转换  

            NSString * currentName = [NSString stringWithUTF8String:(const charchar *)stuName];  

            NSString * currentSex = [NSString stringWithUTF8String:(const  charchar *)stuSex];  

              

              

            StudentModel * student = [StudentModel studentModelWithId:stuId name:currentName sex:currentSex score:stuScore];  

            //将model中内容 添加到  之前的容器 数组  

            [peopels addObject:student];  

        }  

          

        sqlite3_finalize(stmt);//关闭镜像  

        return peopels;//将这个装有数据的数组  返回  

    }else{  

        sqlite3_finalize(stmt);  

        return [NSArray array];  //如果没进入if  返回一个空数组  

    }  

      

}  

  

//查找单个数据  

+(StudentModel *)findPeopleWith:(NSInteger )stuId{  

    sqlite3 * db = [DB DBOpen];  

    sqlite3_stmt * stmt;  

    int result = sqlite3_prepare_v2(db, "select stuName,stuId,stuSex,stuScore from student where stuId=?", -1, stmt, Nil);  

    sqlite3_bind_int(stmt, 1, stuId);//  第一个int是第几个问好?  第二个int  是绑定的内容  绑定问好  

      

    if (SQLITE_OK == result) {  

        if (sqlite3_step(stmt) == SQLITE_ROW) {  

              

              

            const unsigned charchar * stuName = sqlite3_column_text(stmt, 0);  

            int stuId = sqlite3_column_int(stmt, 1);  

            const unsigned charchar * stuSex = sqlite3_column_text(stmt, 2);  

            float stuScore = sqlite3_column_double(stmt, 3);  

              

              

            NSString * currentName = [NSString stringWithUTF8String:(const charchar *)stuName];  

            NSString * currentSex = [NSString stringWithUTF8String:(const charchar *)stuSex];  

              

            StudentModel * student = [StudentModel studentModelWithId:stuId name:currentName sex:currentSex score:stuScore];  

            sqlite3_finalize(stmt);  

            NSLog(@"000");  

            return student;  

        }else{  

            NSLog(@"11111");  

            return nil;  

        }  

    }else{  

        NSLog(@"222222");  

        sqlite3_finalize(stmt);  

        return nil;  

    }  

}  

//插入数据  

+(void)insertIntoModel:(StudentModel *)model{  

    sqlite3 * db = [DB DBOpen];  

    sqlite3_stmt * stmt;  

    int result = sqlite3_prepare_v2(db, "insert into student values(?,?,?,?)", -1, stmt, Nil);  

    sqlite3_bind_int(stmt, 1, model.stuId);  

    sqlite3_bind_text(stmt, 2, [model.stuName UTF8String], -1, Nil);  

    sqlite3_bind_text(stmt, 3, [model.stuSex UTF8String], -1, nil);  

    sqlite3_bind_double(stmt, 4, model.stuScore);  

      

    if (SQLITE_OK == result) {  

        if (sqlite3_step(stmt) == SQLITE_DONE) {  

            NSLog(@"添加成功");  

            sqlite3_finalize(stmt);  

            return;  

        }else{  

            NSLog(@"添加失败");  

            sqlite3_finalize(stmt);  

            return;  

        }  

    }else{  

        NSLog(@"111");  

        sqlite3_finalize(stmt);  

  

        return;  

    }  

}  

//更新数据  

+(void)updateStuName:(NSString *)name stuSex:(NSString *)sex stuScore:(CGFloat)score stuId:(NSInteger)stuid{  

    sqlite3 * db = [DB DBOpen];  

    sqlite3_stmt * stmt;  

    int result = sqlite3_prepare_v2(db, "update student set stuName=?,stuSex=?,stuScore=? where stuId = ?", -1, stmt, Nil);  

    sqlite3_bind_int(stmt, 4, stuid);  

    sqlite3_bind_text(stmt, 1, [name UTF8String], -1, Nil);  

    sqlite3_bind_text(stmt, 2, [sex UTF8String], -1, nil);  

    sqlite3_bind_double(stmt, 3, score);  

    if (SQLITE_OK == result) {  

        if (sqlite3_step(stmt) == SQLITE_DONE) {  

            NSLog(@"更新成功");  

            sqlite3_finalize(stmt);  

            return;  

        }else{  

            NSLog(@"更新失败");  

            sqlite3_finalize(stmt);  

  

        }  

    }else{  

        NSLog(@"shibai");  

        sqlite3_finalize(stmt);  

  

    }  

}  

  

//删除数据  

+(void)deleteModelStuId:(NSInteger)stuid{  

    sqlite3 * db = [DB DBOpen];  

    sqlite3_stmt * stmt;  

    int relust = sqlite3_prepare_v2(db, "delete from student where stuid= ?", -1, stmt, nil);  

    sqlite3_bind_int(stmt, 1, stuid);  

    if (SQLITE_OK == relust) {  

        //step 截段  

        if (sqlite3_step(stmt) == SQLITE_DONE) {  

            NSLog(@"删除成功");  

            sqlite3_finalize(stmt);  

            return;  

        }else{  

            NSLog(@"删除失败");  

            sqlite3_finalize(stmt);  

            return;  

        }  

    }else{  

        NSLog(@"删除失败11");  

        sqlite3_finalize(stmt);  

        return;  

          

    }  

}  

  

@end  

/span

求c语言操作mysql数据库实例

不知你用的是什么代码,不过据我实验,以下代码是可用的 【来自 】

#include stdlib.h  

#include stdio.h  

#include "mysql.h"  

  

int main (int argc, char *argv[])  

{  

        MYSQL *conn_ptr;  

        conn_ptr=mysql_init(NULL); //连接初始化  

        if(!conn_ptr){  

                fprintf(stderr, "mysql_init failedn");  

                return EXIT_FAILURE;  

        }  

  

        conn_ptr = mysql_real_connect(conn_ptr, "localhost", "moldao","newpassword","moldao_test", 0, NULL, 0); //建立实际连接  

        //参数分别为:初始化的连接句柄指针,主机名(或者IP),用户名,密码,数据库名,0,NULL,0)后面三个参数在默认安装mysql的情况下不用改  

        if(conn_ptr){  

                printf("Connection successn");  

                }  

        else {  

                printf("Connection failedn");  

        }  

  

        mysql_close(conn_ptr); //关闭连接  

        return EXIT_SUCCESS;  

}

连接mysql数据库需要以下步骤:

安装mysql开发包, linux下是mysql安装的时候全选就行了, linux 下直接安装mysql-devel

新建工程,占贴代码,注意修改实际的用户名、密码 ...

设置包含目录, 在windows下, 找到你的mysql安装位置,找到include文件夹, 设置ide增加该文件夹到包含目录 【可能是 C:Program FilesMySQLMySQL Server 5.0include】

设置连接目录, 同设置包含目录一样 找到mysql的lib目录,设置ide 【可能是 C:Program FilesMySQLMySQL Server 5.0libopt 】

设置连接选项, 需要设置ide连接选项,增加 -lmysql

编译连接运行

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。