c修改資料庫數據
㈠ GBase 8c 資料庫怎麼修改表列的默認值和數據類型
支持分別修改列默認值和數據類型。要為某列設置一個新默認值,可以使用命令:
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT new_default;
修改數據類型,使用命令:
ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type;
注意:這不會影響任何錶中已經存在的行。
㈡ 用C或C++編程實現資料庫的查詢,添加,刪除,修改功能。
一個教材管理系統,給你參考下
void shumingsearch(struct book *head) /*按教材名稱查找*/
{ struct book *p;
char name[20];
int c;
if(head==NULL) {printf("未打開任何文件");getchar();return;}
printf("1,查找專業 2,查找教材名稱:");
scanf("%d",&c);
getchar();
if(c==2)
printf("請輸入要查找的教材名稱:");
else printf("請輸入要查找的專業:");
gets(name);
p=head;
do{ if(c==2)
if(strcmp(p->shuming,name)==0)
{
printf("教材編號:%s\n教材名稱:%s\n數量:%d\n價格:%d\n專業:%s\n作者:%s\n出版社:%s\畢旦n備註:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);
}
if(c==1)
if(strcmp(p->zhuanye,name)==0)
{
printf("教材編號:%s\n教材名稱:%s\n數量:%d\n價格:%d\n專業:%s\n作者:%s\n出版社:%s\n備註:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);
}
p=p->next;
}while(p!=NULL);
printf("查找完成");
return;
}
struct book *add(struct book *head) /*增加記錄*/
{ struct book *p,*e,*f,*h;
if(head==NULL) {printf("未打開任何文件");getchar(); return NULL;}
h=f=e=head;
p=(struct book *)malloc(sizeof(struct book));
printf("\n教材編號:"慎薯);
gets(p->number);
printf("\n教材名稱:");
gets(p->shuming);
printf("\n數量:");
scanf("%d",&p->shuliang);
printf("\n價格:");
scanf("%d",&p->jiage);
getchar();
printf("\n專業:");
gets(p->zhuanye);
printf("\n作者:");
gets(p->zuozhe);
printf("\n出版社:");
gets(p->chubanshe);
printf("\n備注:");
gets(p->beizhu);
if(strcmp(f->number,p->number)>0) { p->next=f;h=p;printf("\n添加成功");return h;}
if(f->next==NULL) { f->next=p;p->next=NULL;printf("\n添加成功"手孝擾);return h;}
do{
if(f->next!=NULL)
if(strcmp(f->number,p->number)>0)
{
e->next=p;p->next=f;printf("\n添加成功");return h;
}
if(f->next==NULL)
{
f->next=p;
p->next=NULL;
printf("\n添加成功");
return h;
}
f=f->next;
e=e->next;
}while(1);
}
struct book *delet(struct book *head) /*刪除記錄*/
{ struct book *p,*e;
char num[20];
if(head==NULL) {printf("未打開任何文件");getchar();return NULL;}
printf("請輸入要刪除的教材編號:");
scanf("%s",num);
p=e=head;
if(strcmp(p->number,num)==0) { head=head->next; print(head);return head;}
else p=p->next;
do{
if(strcmp(p->number,num)==0)
{
if(p->next!=NULL)
e->next=p->next;
if(p->next==NULL) e->next=NULL;
print(head);
return head;
}
p=p->next;
e=e->next;
}while(p!=NULL);
printf("搜索完畢,未找到該記錄");
return head;
}
struct book *change(struct book *head) /*修改記錄*/
{ struct book *p;
char num[20];
if(head==NULL) {printf("未打開任何文件");getchar();return NULL;}
printf("請輸入要修改的教材編號:");
scanf("%s",num);
getchar();
p=head;
do{
if(strcmp(p->number,num)==0)
{
printf("教材編號:%s\n教材名稱:%s\n數量:%d\n價格:%d\n專業:%s\n作者:%s\n出版社:%s\n備註:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);
printf("\n教材編號:");
gets(p->number);
printf("\n教材名稱:");
gets(p->shuming);
printf("\n數量:");
scanf("%d",&p->shuliang);
printf("\n價格:");
scanf("%d",&p->jiage);
getchar();
printf("\n專業:");
gets(p->zhuanye);
printf("\n作者:");
gets(p->zuozhe);
printf("\n出版社:");
gets(p->chubanshe);
printf("\n備注:");
gets(p->beizhu);
printf("修改成功");
return head;
}
p=p->next;
}while(p!=NULL);
printf("未找到要修改的記錄");
return head;
}
int mima()
{ FILE *fp;
char mima1[20],mima2[20];
if((fp=fopen("mima","r"))==NULL)
{ printf("尚未設置密碼請輸入:");
scanf("%s",mima1);
printf("請再次輸入密碼:");
scanf("%s",mima2);
if(strcmp(mima1,mima2)!=0) { printf("兩次密碼不一樣");return 0;}
else {
fp=fopen("mima","w");
fprintf(fp,"%s",mima1);
printf("密碼設置成功");
return 1;
}
}
printf("請輸入初始化密碼:");
scanf("%s",mima1);
fscanf(fp,"%s",mima2);
if(strcmp(mima1,mima2)==0)
{
printf("密碼正確");
printf("請輸入要刪除的文件名:");
scanf("%s",mima1);
if(remove(mima1)==0)
{
printf("刪除成功");
getchar();
return 1;
}
else {
printf("刪除失敗,請檢查是否存在該文件或路徑是否正確");
getchar();
return 0;
}
}
else {
printf("密碼錯誤");
getchar();
return 0;
}
}
void main()
{
struct book *head=NULL;
char i;
getch();
system("cls");
do{
printf(" ☆★☆★☆★ 教材管理系統 ☆★☆★☆★\n");
printf("m--菜單 h--幫助");
printf("\n請輸入命令:");
i=getch();
if(i=='h')
{ printf("\n1,錄入教材信息的時候,每一個項目都必須輸入相應的內容。\n2,修改,增加,刪除,查找記錄前必須先打開一個文件,修改完後必須記得保存教材信息。\n3,必須使用正確的路徑打開文件,建議保存文件時候不用輸入路徑(此時是默認路徑,即保存在程序目錄下。)");
getch();
break;
}
if(i=='m')
break;
system("cls");
}while(i!='m'||i!='h');
system("cls");
do{
printf(" ☆★☆★☆★ 教材管理系統 ☆★☆★☆★\n");
printf("┌————-———┐\n");
printf("│1,錄入教材信息│\n│2,顯示教材信息│\n│3,打開一個記錄│\n│4,編輯一個記錄│\n│5,保存教材信息│\n│6,查找記錄 │\n│s,初始化系統 │\n│e,退出系統 │\n");
printf("└———————-┘\n");
printf("\n請輸入功能編號:");
i=getch();
system("cls");
switch(i)
{
case '1': head=creat();save(head);break;
case '2': print(head);break;
case '3': head=openfile();break;
case '4': system("cls");
printf("┌————-———┐\n");
printf("│1,增加一個記錄│\n");
printf("│2,刪除一個記錄│\n");
printf("│3,修改一個記錄│\n");
printf("└———————-┘\n");
i=getch();
switch(i)
{
case '1':
head=add(head);break;
case '2':
head=delet(head);break;
case '3': head=change(head);break;
default: break;
}
break;
case '5': save(head);break;
case '6': shumingsearch(head);break;
case 's': mima();break;
case 'e': exit(0);
default :break;
}
system("cls");
}while(1);
}
㈢ 怎麼在Visual studio里使用c語言對資料庫進行添加 修改 查詢
其實最好還是使用vs,c語言不適合做大型的應用程序,c程序適合做單片機程序和驅動程序。
windows程序最好還是使用vc6.0,網頁程序使用vs2008,單片機和驅動使用匯編語言。
Visual C++的Windows窗體應用程序可以成.exe文件,也就是應用程序,開發軟體可以創建這個項目;如果想寫C語言,Visual C++裡面自帶有編寫.cpp文件的C語言環境
目前vs已經升級到了2010版本。但是,讓人郁悶的是我們卻用不來VC2008或者2010,之前我也是一直困惑著,為什麼軟體升級之後,反而不能用了呢?其實vc它是適合很多編程學科使用的工具,必須對其進行設置後才能編寫語言。方法真的很簡單,我也是今天摸索出來的,之前在網上搜的時候。沒有一個能解決或徹底解決問題的,現在讓我來補上這個缺憾!
一、打開VC++2010
二、文件—》新建—》項目
三、在左邊的最近模塊選著「Win32」,在右邊對話框選著「Win32控制台應用程序 Visual C++」,再在下面輸入「名稱」和「位置」,點擊「確定」
四、在彈出來的對話框中選著「下一步」
五、在「附加選項」下選著「空項目」,其他的不動,點擊完成
六、回到主界面後,在左邊的「解決方案資源管理器」,右擊「源文件」—》「添加」—》「新建項」
七、在中間的對話框中選著「C++文件(.cpp)」,輸入文件「名稱」—》「添加」(注意要吧文件名改成「名稱」+「.c」,不然默認的是「.cpp」,仍然編譯不了)
八、寫入一個C語言程序,你就發現成功了
九、以後需要繼續編程的只需要將源文件下原來的.cpp文件右健移除(注意一次只能編寫一個文件,只是移除,目錄下仍存在,不必擔心),再按照第六步下來就行啦,是不是很神奇!!
㈣ GBase 8c資料庫建表後,列的默認值還能修改么
session設置
set XXXX=YYYY
設置某個參數,並對當前的session有效。不是所有的參數都支持session設置。
連接關閉後失效。
全局設置
set global XXXX=YYYY
設置某個參數,對所有session有效,但對當前session【不一定】有效,所以你可以在按照方案1的方案,對當前session設置一下。
不是所有的參數都支持設置,比如顯示只讀的。 此時需要按照後面持久設置的方法,修改配置文件後重啟資料庫服務。
服務重啟後失效
持久設置
修改配置文件,然後重啟資料庫服務。集群多個節點,需要挨個節點修改,並全部重啟。
這個參數在資料庫下次重啟時,包括操作系統reboot後,都生效。
corosync/gcware配置文件
/etc/corosync/corosync.conf
V95為
/opt/gcware/config/gcware.conf
其中的logging部分,to_file建議設置為yes。 debug建議設置為off。 默認值也是這么設置的。
管理服務gcluster配置文件
/opt/gbase/gcluster/config/gbase_8a_gcluster.cnf
其中/opt/gbase是集群安裝目錄,請根據實際情況修改。
恢復服務gcrecover配置文件
/opt/gbase/gcluster/config/gc_recover.cnf
其中/opt/gbase是集群安裝目錄,請根據實際情況修改。
該服務只存在於管理節點。
數據服務gnode配置文件
/opt/gbase/gnode/config/gbase_8a_gbase.cnf
其中/opt/gbase是集群安裝目錄,請根據實際情況修改。
㈤ 怎麼用C語言更新mysql中的數據
·首先,單純的c語言無法實現資料庫交互;
·其次,推薦樓主用proc(基於c語言的資料庫編程語言),可以十分方便解決;