MSSQL教程之用gcc批量建mysql库表
出于效率方面的考虑,InnoDB数据表的数据行级锁定实际发生在它们的索引上,而不是数据表自身上。显然,数据行级锁定机制只有在有关的数据表有一个合适的索引可供锁定的时候才能发挥效力。file1my.c//--------------------------------------------------------
//MySQLDatabaseCreate1/13/2001.NetkillerChen
//--------------------------------------------------------
#include
#include
main()
{
charhost;//mysqlhostaddress.
charsid;//rootusername.
charpwd;//rootpassword.
/*char*table_file[]={
"gsxx",
"bcxx",
"fgxx",
"hmbxx",
"ltxx",
NULL
};*/
//char*mysql;
charmydatabase;
charmysqltable;
inti;
intmax_table_num;
intdb,status;
i=0;
max_table_num=4;//max_table_num
system("clear");
showme();printf("
");
printf("MySQLhost:");scanf("%s",host);
printf("Rootuser:");scanf("%s",sid);
printf("Password:");scanf("%s",pwd);
printf("Loading........
");
while(table_file){
sprintf(mydatabase,"echo"createdatabase%s"|mysql-h%s-u%s-p%s",table_file,host,sid,pwd);
sprintf(mysqltable,"mysql-h%s-u%s-p%s%s<%s.sql",host,sid,pwd,table_file,table_file);
db=system(mydatabase);
status=system(mysqltable);
//printf("%s
%s",mydatabase,mysqltable);
printf(table_file);
//printf("%d",status);
if(db==0&&status==0){
printf(" Install
");
}else{
printf(" Install[:(]
");
}
i++;
}
address();
}
//-------------------Function------------------
showme()
{
printf("-------------------------------------------------------------------
");
printf(" IamNetkillerChen.
");
printf(" Iamaprogrammerandsystem&netmanager.
");
printf(" Iamgladtobefriendwithyou!
");
printf("-------------------------------------------------------------------
");
}
address()
{
printf("
----------------------------------
");
printf("| newtech@sina.com|
");
printf("| OICQ:13721218|
");
printf("| 1/13/2001|
");
printf("----------------------------------
");
}
file2
table.h
char*table_file[]={
"alxx",
"bcxx",
"fycx",
"fyxwxx",
"fyzxxx",
"hwzx",
"lhzxxx",
"xxdexx",
"xxdsxx",
"xxfgxx",
"xxglxx",
"xxgsxx",
"xxhmbxx",
"xxhtxx",
"xxjbxx",
"xxltxx",
"xxzwxx",
"xxzx",
NULL
};
些程序能够便利建表。。。有甚么不分明与我接洽。
程序随算不上甚么。。。。。但也办理了一些批量建表的问提。
这个程序能够做为gcc刚进门喜好的参考,由于这个程序象helloworld一样间复杂。并且很全包含了指针,数组,文件包括,NULL
用户办法两个文件置于。/root/mygcc/下,将预建库mysql语句文件,文件名定名为xxxx.sql同上然后
#gccmy.c-omy
#my
便可。。。不必我在说了吧?
上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。 只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。 所以你总能得到相应的升级版本,来满足你的需求。 我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力 你可以简单地认为适合的就是好,不适合就是不好。 比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。 大家注意一点。如下面的例子: XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
页:
[1]