  
- UID
- 1
- 威望
- 1240 点
- 金钱
- 24019 金币
- 点卡
- 317 点
|
ADODB应用进阶
关于adodb的简单操作如插入更新删除数据等,大家已经在adodb压缩包的一个教程文件了解到了。adodb的类库在教程中之是简单的列出,关于建表等常用操作并没详细的使用教程,下面我们来看adodb教程进阶操作。
1.创建数据库- CreateDatabase($dbname, $optionsarray=false)
复制代码 这函数就不介绍了 几乎和mysql一样。
2.创建数据表
分析语句- CreateTableSQL($tabname, $fldarray, $taboptarray=false)
复制代码 应用 $conn->CreateTableSQL($tabname, $fldarray)
$tabname: 表名
$fldarray : 语句[或数组方式]
$taboptarray:其他
因为adodb面向的数据库有差异,在不同的数据库语句也有变化,因此adobd并不支持传统的sql语句,而是按照自己设定的语句分析执行。
语句格式如下 $fieldname $type $colsize $otheroption
也可以数组方式 array($fieldname, $type, [,$colsize] [,$otheroptions]*)
数据栏位的类型定义- C: varchar
- X: Largest varchar size
- XL: For Oracle, returns CLOB, otherwise same as ';X'; above
- C2: Multibyte varchar
- X2: Multibyte varchar (largest size)
- B: BLOB (binary large object)
- D: Date (some databases do not support this, and we return a datetime type)
- T: Datetime or Timestamp
- L: Integer field suitable for storing booleans (0 or 1)
- I: Integer (mapped to I4)
- I1: 1-byte integer
- I2: 2-byte integer
- I4: 4-byte integer
- I8: 8-byte integer
- F: Floating point number
- N: Numeric or decimal number
复制代码 数据栏位的属性定义- AUTO For autoincrement number. Emulated with triggers if not available.
- Sets NOTNULL also.
- AUTOINCREMENT Same as auto.
- KEY Primary key field. Sets NOTNULL also. Compound keys are supported.
- PRIMARY Same as KEY.
- DEF Synonym for DEFAULT for lazy typists.
- DEFAULT The default value. Character strings are auto-quoted unless
- the string begins and ends with spaces, eg '; SYSDATE ';.
- NOTNULL If field is not null.
- DEFDATE Set default value to call function to get today';s date.
- DEFTIMESTAMP Set default to call function to get today';s datetime.
- NOQUOTE Prevents autoquoting of default string values.
- CONSTRAINTS Additional constraints defined at the end of the field definition.
复制代码 现在看一个示例
以数组方式定义语句- $flds_a = array(
- array(';id';, ';I';, ';AUTO';, ';PRIMARY';),
- array(';a_admin';, ';C';, ';30';, ';DEFAULT'; => ';0';, ';NotNull';),
- array(';a_pas';, ';C';, ';50';, ';DEFAULT'; => ';0';, ';NotNull';),
- array(';a_data';, ';C';, ';10';, ';DEFAULT'; => ';no';, ';NotNull';),
- array(';a_item';, ';C';, ';10';, ';DEFAULT'; => ';no';, ';NotNull';),
- array(';a_right';, ';C';, ';10';, ';DEFAULT'; => ';no';, ';NotNull';),
- array(';a_time';, ';T';),
- array(';a_end';, ';T';),
- array(';a_remark';, ';B';)
- );
复制代码 AUTO 自增
PRIMARY 主键
DEFAULT 默认值设置方式 用 ';DEFAULT'; => ';值';
array(';a_remark';, ';B'; )
B类型为BLOB 不必设置其他属性
T 时间格式 默认的格式就是 YYYY-MM-DD HH:II:SS
C varchar 后面是长度限制
建表- $dict = NewDataDictionary($conn);
- $sqlarray_t = $dict->CreateTableSQL(';test_table';, $flds_a);
- $dict->ExecuteSQLArray($sqlarray_t);
复制代码 当$conn->debug=1;时
会返回 根据数据库不同 而变化的分析后的代码.
3.取得数据库信息
MetaDatabases() 以数组形式返回主机上的数据库列表
应用 $conn->MetaDatabases()- $dbs = $conn->MetaDatabases();
- $num_rows = count($dbs);
- for($i=0;$i<$num_rows;$i++){
- echo $dbs[$i];
- }
复制代码 MetaTables($ttype=false, $showSchema=false) 以数组形式返回当前数据库中的数据表
应用 $conn->MetaTables($tablename)- $tables = $conn->MetaTables();
- $num_rows = count($tables);
- for($i=0;$i<$num_rows;$i++){
- echo $tables[$i];
- }
复制代码 MetaColumnNames($table) 以数组形式返回当前数据表中的栏位名
应用 $conn->MetaColumnNames($table)- $re = $conn->MetaColumnNames($table);
- $num_fields = count($re);
- for($i=0;$i<$num_fields;$i++){
- echo $re[$i];
- }
复制代码 当然adodb功能是很强大的,其他的函数一般用不到,这里就不再继续了。如果有感兴趣的可以共同交流。 |
我是一个呼吸着现在的空气而生活在过去的人
这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
我已习惯了孤独,爱上孤独
他让我看清了自我,还原了自我
让我再静静的沉思中得到快乐和满足
再孤独的世界里我一遍又一遍
不厌其烦的改写着自己的过去
延伸到现在与未来
然而那只是泡沫般的美梦
产生的时刻又伴随着破灭的到来
在灰飞烟灭的瞬间我看到的是过程的美丽
而不是结果的悲哀。。。
|
|