本文目錄一覽:
怎麼在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 failed\n”);
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 success\n”);
}
else {
printf(“Connection failed\n”);
}
mysql_close(conn_ptr); //關閉連接
return EXIT_SUCCESS;
}
連接mysql數據庫需要以下步驟:
安裝mysql開發包, linux下是mysql安裝的時候全選就行了, linux 下直接安裝mysql-devel
新建工程,占貼代碼,注意修改實際的用戶名、密碼 …
設置包含目錄, 在windows下, 找到你的mysql安裝位置,找到include文件夾, 設置ide增加該文件夾到包含目錄 【可能是 C:\Program Files\MySQL\MySQL Server 5.0\include】
設置連接目錄, 同設置包含目錄一樣 找到mysql的lib目錄,設置ide 【可能是 C:\Program Files\MySQL\MySQL Server 5.0\lib\opt 】
設置連接選項, 需要設置ide連接選項,增加 -lmysql
編譯連接運行
原創文章,作者:HJQR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137364.html