sqlite和pdo mysql的数据库操作
今天的学习内容是sqlite和PDO mysql。
用自己的话说说两个东西吧:
sqlite算是一种不系统的数据库存储方式,它的存放格式是一个.db后缀的文件,在php中它存放在当前的目录下,貌似不用用户名密码,安全性较低,却比较方便。PHP5中自带的一些系统函数,都是以sqlite_开头的。
PDO全称PHP Data Object,顾名思义就是PHP的一种系统对象?在操作用也是以一个类为开始。类似mysql的方式。
主要摘录一下函数吧:
1. sqlite:
$db = sqlite_open("php100.db");
$sql = "select * from test";
$result = sqlite_query($db,$sql);
$row = sqlite_fetch_array($result);
print_r($row);
2. PDO mysql:
$db = new PDO("mysql:host=localhost;dbname=student",'root','');
$rs = $db->query("SELECT * from testmem");
while($row = $rs->fetch()){
print_r($row);
echo "<hr size=1>";
}
相关文档:
昨天用脚本连接数据库时出现了用户登录被拒绝的提示,当然是远程连接Mysql。从网上查查发现是没有远程登录的权限。用时
用:grant all on *.* to 'user'@'192.168.XX.XX' identified by 'password';
在使用这个密令前首先要用root用户登录到需要远程访问的数据库上,然后在修改权限。 ......
虽然说我们尽量在写程序的时候控制插入到数据库的数据,而不要用数据库去判断数据的对错,但是有时候为了方便还是需要数据库自身的容错能力来帮助我们达到目的的。举例说明:
创建如下数据表
CREATE TABLE `book` (
`id` int(11) default NULL,
`num` int(11) unsigned default NULL
) ENGINE=InnoDB DE ......
sqlite3 *db;
sqlite3_stmt *stat;
char
*zErrMsg = 0;
char
temp[256], FileRoot[256];
char
buffer2[1024]="0";
sprintf(temp, _T("%s"), _T("utf.db")) ......
今天找到了取mysql表和字段注释的语句
取字段注释
SELECT COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释
from INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'companies'##表名
AND table_schema = 'testhuicard'##数据库名
AND column_name LIKE 'c_name'##字段名
--------------------------- ......
MYSQL有多种存储引擎和表类型,InnoDB和BDB支持事务,如果要使用事务,表的类型就应该是InnoDB.
提高表的性能:
1、用最小的数据类型。占用空间小,节省磁盘空间和内存。
2、表格的主索引要尽可能的短,以明显提高效率。
3、索引最好建在唯一的列上,索引越短,速度越快。
4、多列索引必须包含最左边的前缀才有效。 ......