PHP创建SqlLite数据表并让ID自增
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('test.db');
}
}
$db = new MyDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
/**
* 创建数据库
*/
$sql =<<<EOF
CREATE TABLE test2(
id integer PRIMARY KEY autoincrement,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
EOF;
$ret = $db->exec($sql);
if(!$ret){
echo $db->lastErrorMsg();
} else {
echo "Table created successfully\n";
}
$db->close();
/**
*数据入库
*/
$sql =<<<EOF
INSERT INTO test2 (NAME,AGE,ADDRESS,SALARY)
VALUES ('Paul', 32, 'California', 20000.00 );
EOF;
$ret = $db->exec($sql);
if(!$ret){
echo $db->lastErrorMsg();
} else {
echo "Records created successfully\n";
}
$db->close();
PHP SqlLite 类
<?php
/*
注意细节:实例化对象时传入的是数据库的路径,要是数据库不存在的话会自动创建。
*/
class sqlLite extends SQLite3{
/**
* 数据库路径设置
*/
public $url;
/**
* SqlLite 创建数据库
*/
function __construct($url)
{
$this->url=$url;
$this->open($url);
}
function check_input($value)
{
if (get_magic_quotes_gpc()) {
$value = sqlite_escape_string($value);
}
return $value;
}
/**
* SqlLite 创建数据库
*
* create("test",
* array("id"=>"integer PRIMARY KEY autoincrement",
* "name"=>"VARCHAR(50)",
* "age"=>"INT NOT NULL",
* "article"=>"TEXT NOT NULL")
* );
*
* $name Array 请传递数组
* $type String 请传递|分割的字符串
*/
function create($table,$name,$type=null)
{
$sql = 'CREATE TABLE '.$table.'(';
if($type==null){
$arrname = array_keys($name);
$arrtype = array_values($name);
}else{
$arrname = explode("|", $name);
$arrtype = explode("|", $type);
}
for($i=0;$i<count($arrname);$i++){
if($i==count($arrname)-1){
$sql = $sql.$arrname[$i]." ".$arrtype[$i]."";
}else{
$sql = $sql.$arrname[$i]." ".$arrtype[$i].",";
}
}
$sql = $sql.');';
$re = $this->query($sql);
if($re){
return true;
}else{
return false;
}
}
/**
* SqlLite 删除数据库
*
* $table 表名
*/
function drop($table)
{
$sql = 'DROP TABLE '.$table.';';
$re = $this->query($sql);
if($re){
return true;
}else{
return false;
}
}
/**
* SqlLite 插入数据
*/
function insert($table,$name,$value=null)
{
$sql = "INSERT INTO ".$table.'(';
if($value == null){
$arrname = array_keys($name);
$arrvalue = array_values($name);
}else{
$arrname = explode('|', $name);
$arrvalue = explode('|', $value);
}
for($i=0;$i<count($arrname);$i++){
if($i==count($arrname)-1){
$sql = $sql.$arrname[$i];
}else{
$sql = $sql.$arrname[$i].",";
}
}
$sql = $sql.")VALUES(";
for($i=0;$i<count($arrvalue);$i++){
if($i==count($arrvalue)-1){
$sql = $sql."'".$arrvalue[$i]."'";
}else{
$sql = $sql."'".$arrvalue[$i]."',";
}
}
$sql .=");";
$re = $this->query($sql);
if($re){
return true;
}else{
return false;
}
}
/**
* SqlLite 删除数据
*/
function delete($table,$Conditionsname,$Conditionsvalue=null)
{
if($Conditionsvalue!=null){
$sql = "DELETE FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
}else{
$sql = "DELETE FROM ".$table." WHERE ";
$arrname = array_keys($Conditionsname);
$arrvalue = array_values($Conditionsname);
for($i=0;$i<count($arrname);$i++){
if($i==count($arrname)-1){
$sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
}else{
$sql.=$arrname[$i].'='."'".$arrvalue[$i]."',";
}
}
$sql.=';';
}
$re = $this->query($sql);
if($re){
return true;
}else{
return false;
}
}
/**
* SqlLite 查询数据
*
* $table String 表名
* $name String 查询字段
* $Conditionsname 查询条件
*
* select("test","id,name,age,article",array("name"=>"张三"));
*/
function select($table,$name,$Conditionsname,$Conditionsvalue=null)
{
if($Conditionsvalue!=null){
$sql = "SELECT ".$name." FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
}else{
$sql = "SELECT ".$name." FROM ".$table." WHERE ";
$arrname = array_keys($Conditionsname);
$arrvalue = array_values($Conditionsname);
for($i=0;$i<count($arrname);$i++){
if($i==count($arrname)-1){
$sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
}else{
$sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
}
}
$sql.=';';
}
$ret = $this->query($sql);
$return = array();
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
array_push($return, $row);
}
return $return;
}
/**
* SqlLite 更新数据
*
* $table String 表名
* $name String 修改的字段
* $value String 更新的值
* $Conditionsname 修改条件Array
*/
function update($table,$name,$value,$Conditionsname,$Conditionsvalue=null)
{
if($Conditionsvalue!=null){
$sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ".$Conditionsname."='".$Conditionsvalue."';";
}else{
$sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ";
$arrname = array_keys($Conditionsname);
$arrvalue = array_values($Conditionsname);
for($i=0;$i<count($arrname);$i++){
if($i==count($arrname)-1){
$sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
}else{
$sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
}
}
$sql.=';';
}
$re = $this->query($sql);
if($re){
return true;
}else{
return false;
}
}
/**
* SqlLite 数据查询分组
*/
function group($table,$name){
$sql = "SELECT ".$name." FROM ".$table.";";
$return = array();
$ret = $this->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
array_push($return, $row[$name]);
}
return $return;
}
/**
* SqlLite 数组对象转数组
*/
function fecthall($sql)
{
$return = array();
$ret = $this->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
array_push($return, $row);
}
return $return;
}
}
PHP创建SqlLite数据表并让ID自增的更多相关文章
- PHP创建数据库数据表
PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...
- HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>
HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行 ----首先感谢网络能够给我提供一个开放的学习平台,如果没有网上的技术爱好者提供 ...
- [SQL]SQL Server数据表的基础知识与增查删改
SQL Server数据表的基础知识与增查删改 由张晨辉(学生) 于19天 前发表 | 阅读94次 一.常用数据类型 .整型:bigint.int.smallint.tinyint .小数:decim ...
- 第二百七十七节,MySQL数据库-数据表、以及列的增删改查
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...
- 数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据
创建数据表:create table 数据表名 1.创建表规范 create table 表名( 列名 数据类型 是否为空 自动排序/默认值 主键/外键/唯一键, 列名 数据类型 ...
- SpringBoot-(8)-配置MySQL数据库链接,配置数据坚挺拦截,创建默认数据表
一,链接mysql数据库 # 数据源基本配置 spring.datasource.username=root spring.datasource.password=123456 spring.data ...
- django 模块创建 同步数据表 使用方法
1 配置数据库 100行左右 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'student ...
- Django创建mysql数据表流程
在Django项目建好后,在setting.py中设置好mysql连接参数: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...
- 删除数据表中除id外其他字段相同的冗余信息
删除一个信息表中除id外其他字段都相同的冗余信息,如下 id name addr 1 a b 2 a b 3 b c 删除这个表中的冗余信息 即应该是 id name addr 1 a b 3 b c ...
- Python 在已创建的数据表添加字段报错问题
django.db.utils.IntegrityError: (1062, “Duplicate entry ’1234567891011’ for key_’dingdanid’”) 这个错误是之 ...
随机推荐
- leetcode用例导入数据库(PHP实现) import leetcode json case into database
<?php // 换成你自己的json $str = '{"headers":{"student":["name","con ...
- PCRaster安装
改了很久才import成功.期间查了不少东西,虽然大部分没用上,但还是记录一下. PCRaster的安装和个人的最终解决方法 Software for environmental modelling ...
- gradle设置
本地目录: gradle-wrapper.properties distributionUrl=file\:///D:/\.gradle/gradle-7.3-all.zip distribution ...
- webservice学习随笔(二):通过cxf实现webservice
一:基本概念(可跳过) Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基 ...
- 关于proTable设置列固定,始终没有固定的效果的原因
使用proTable设置操作列固定 const columns: ProColumns<IssueItem>[] = [ { title: '操作', valueType: 'option ...
- 6. 基础查(会员信息) - 创建查询Web Api - 配置Table Permission
Power Portal中的Web API可以对门户页面中所有的Microsoft Dataverse实体进行创建.更新和删除操作.我们可以直接使用门户Web API对产品创建新客户.更新联系人或 ...
- vue-print-nb的应用
1.cnpm i vue-print-nb 2.触发事件:v-print="printObj" 3.触发的是个对象: printObj:{ id: ...
- ArchKeeper (开篇):架构守护平台的问题与理念
作者:京东科技 倪新明 在敏捷开发环境下,系统通过迭代增量的交付价值,系统架构也是如此.团队不可能在项目之初就建立完美的系统架构,系统架构应该随着系统迭代不断演进.架构演进和架构腐化是看待架构的不同视 ...
- 【ASP.NET Core】修改Blazor.Server的Hub地址后引发的问题
Blazor Server,即运行在服务器上的 Blazor 应用程序,它的优点是应用程序在首次运行时,客户端不需要下载运行时.但它的代码是在服务器上执行的,然后通过 SignalR 通信来更新客户端 ...
- 验证码案例的实现---MyBatis+Session+Cookie
展示验证码(jsp页面) 首先,我们需要自己利用BufferedImage类去生成一张可以变换的验证码图片: 之后,我们就可以利用这样一串代码去将验证码里面的内容获取到: 这是一串测试代码: Outp ...