PHP连接并使用人大金仓数据库kingbase
安装人大金仓
注意事项
- 设置不区分大小写
创建数据库
创建DEMO
数据库后,默认也会自动创建PUBLIC
模式,后续的新建表等操作会自动在PUBLIC
模式中进行。
配置PHP(PDO接口)
下载接口文件
pdo_kdb_x64_for_php7.2.26.zip
注:该接口文件只适合于PHP7.2 TS X64版本,如果你使用的是其他版本的PHP,需要去人大金仓官网下载。
拷贝文件
将php_pdo_kdb.dll
文件拷贝至php的扩展目录下(扩展目录通过查看phpinfo
里面的extension_dir
值)
然后在php.ini
的末尾添加一行:
extension=php_pdo_kdb.dll
打开命令行,输入php -m
,如果提示:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_kdb' (tried: xxxx/ext\pdo_kdb (找不到指定的模块。)
则需要把数据库安装目录下的D:\soft\Kingbase\ES\V8\Server\bin
中的dll文件和D:\soft\Kingbase\ES\V8\jre\bin
中的dll文件都拷贝至C:\Windows\System32
目录下。
重启服务器,查看phpinfo
,如果显示以下信息,则说明安装成功:
连接数据库
$dm_conf = array('host'=> '127.0.0.1','port'=> '54321','db'=> 'DEMO','db_user' => 'SYSTEM','db_pwd'=> 'SYSTEM',
);
$pdo = new PDO("kdb:host=".$dm_conf['host'].";port=".$dm_conf['port'].";dbname=".$dm_conf['db']."",$dm_conf['db_user'],$dm_conf['db_pwd']);
创建表
$sql = 'create table "users"("id" SERIAL primary key,"user_name" VARCHAR(20),"created_at" TIMESTAMP,"updated_at" TIMESTAMP DEFAULT now()::timestamp(0))';
$result = $pdo->exec($sql);
注:smallserial
、serial
和bigserial
不是真正的字段类型,它们只是为了创建唯一标识符列而存在的方便符号(类似MySQL数据库中支持的AUTO_INCREMENT属性)。
例如以下建表语句:
CREATE TABLE tablename (
id SERIAL
);
等价于
CREATE SEQUENCE tablename_id_SEQ;
CREATE TABLE tablename (
id integer NOT NULL DEFAULT nextval('tablename_id_SEQ')
);
ALTER SEQUENCE tablename_id_SEQ OWNED BY tablename.id;
插入数据
$sql = "insert into users (user_name,created_at,updated_at) values ('张三','2020-09-03 10:06:00','".date('Y-m-d H:i:s')."')";
$result = $pdo->exec($sql);
查询数据
$sql = "select * from users;";
$stmt = $pdo->prepare($sql);
if($stmt===false){var_dump($pdo->errorInfo());die;
}
$rs = $stmt->execute();
if ($rs) {while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {var_dump($row);}
}
更新数据
$sql = "update users set user_name = '李四' where id = 1";
$result = $pdo->exec($sql);
删除数据
$sql = "delete from users where id = 1";
$result = $pdo->exec($sql);
设置默认模式
通常情况下,在sql语句中的表名前需要指定模式名。例如上面例子中的users
等价于public.users
(因为public是默认模式),其中public
就是模式名,users
是表名。
可以通过SET search_path TO 模式名
来更改当前模式。设置后,就会默认去设置的模式中找表。
- 查看当前模式
SHOW search_path;
其他
- 查询某个库下的所有表
SELECT * FROM sys_tables;
- 查询当前时间
select now();
或
SELECT CURRENT_TIMESTAMP
如果只需要年月日时分秒:
SELECT now()::timestamp(0)
- 查询表空间
select * from sys_tablespace;
- 查看表空间大小
select sys_size_pretty(sys_tablespace_size('SYS_DEFAULT'));
- 查询表的字段信息
SELECT a.attname,sys_catalog.format_type(a.atttypid, a.atttypmod),a.attnum,sys_catalog.col_description(a.attrelid, a.attnum)FROM sys_catalog.sys_attribute aWHERE a.attnum > 0 AND NOT a.attisdropped and a.attrelid = 'test.users'::regclass::oidORDER BY a.attnum;
注:test.users为表名。
- 获取最后插入的自增ID的值
select currval('users_id_SEQ');
或
select lastval()
注:需要先执行插入语句,然后再执行该语句。users_id_SEQ
为序列名。
PHP连接并使用人大金仓数据库kingbase相关推荐
- BenchmarkSQL 5.0源码修改 -- 支持 人大金仓数据库 KingBase
benchmarksql 在5.0版本中没有对人大金仓数据库(KingBase)的TPC-C测试支持,本文通过修改部分源码,让benchmarksql 5.0支持KingBase. 个人理解: Ben ...
- XXL-JOB适配人大金仓数据库kingbase
一:背景 XXL-JOB版本是2.2.1-SNAPSHOT 二:配置连接池 2.1 首先找到xxl-job-admin目录下的pom.xml文件,把原本mysql-connector-java连接包注 ...
- 人大金仓数据库KingBase+SpringBoot+MyBatis的使用
一.将KingBase提供的jdbc jar包导入到本地maven仓库 mvn install:install-file -Dfile=jar包的位置 -DgroupId=com.kingbase - ...
- Mac/Windows使用DBeaver+jdbc驱动连接KingbaseES人大金仓数据库
1.准备工作 下载DBeaver Communit连接工具并安装: https://dbeaver.io/download/ 官网下载驱动你电脑对应的文件: https://www.kingbase. ...
- DBeaver连接(人大金仓/达梦)数据库 ,达梦、人大金仓数据库可视化工具
1. 下载安装DBeaver DBeaver下载地址 DBeaver 支持多平台,选择自己的操作系统 2. 使用DBeaver连接人大金仓数据库 2.1 数据库 -> 驱动管理器 2.2 新建驱 ...
- DataGrip连接人大金仓数据库(kingbase)详细教程【超详细】
DataGrip连接人大金仓数据库(kingbase)详细教程[超详细] 第一步:下载DataGrip 第二步:添加人大金仓的数据库引擎 第三步:输入账号密码连接 第四步:查看数据库 关于连接其它数据 ...
- 国产化人大金仓数据库转库工具:oracle12c数据库转kingbase8.6人大金仓数据库实例演示
oracle12c数据库转人大金仓数据库实例演示 第一章:数据准备 ① 人大金仓建库建用户 ② 人大金仓授权表空间 ③ 人大金仓创建 schema 表 第二章:转库演示 ① 转库工具准备 ② 创建源库 ...
- 人大金仓数据库sql语句_人大金仓数据库总结(SQL和JDBC)
人大金仓作为一款国产数据库,使用的人数和相关资料都比较少. 最近使用人大金仓数据库,做了个简单的SQL和java jdbc的测试,希望能够供大家参考. 1.SQL语句 创建表: CREATE TABL ...
- nacos 适配达梦、人大金仓数据库
文章目录 一.准备工作 1. 阅读官网文档 2. 下载源码,按官网更详细 3. 下载达梦.人大金仓数据库驱动 二.修改nacos源码 2.1. 引入驱动依赖 2.2. 引用数据库 2.3. 修改配置 ...
- mysql数据库迁移到人大金仓数据库问题记录清单
(1)数据库类型不支持异常:dbType not support : null, url jdbc:kingbase8. 解决方法: 数据源配置: spring:datasource:druid:st ...
最新文章
- glusterfs初步实践一(类似NFS)
- 腾讯天衍实验室主任郑冶枫
- oracle索引和同义词,关于Oracle序列、索引、同义词
- 重启oracle后报01034,ORACLE: ORA-01034, ORA-27123问题处理的分析
- IOC容器和Bean的配置实例
- .NET6之MiniAPI(二十九):UnitTest
- 限流中间件IpRateLimitMiddleware的使用
- 一周学会HTML----Day03常用标签(下)
- win32获取其它进程变量地址存放的信息
- 软件测试工程师如何编写一篇杀手级简历?
- math ceil函数python_Python3 ceil() 函数
- android游戏编程之从零开始!JVM虚拟机原理深入解析,看这一篇就够了!
- android+动态隐藏图标,2018安卓手机怎么隐藏图标 进入隐藏应用界面
- 20155201 2016-2017-2 《Java程序设计》第六周学习总结
- java程序员出路在哪里,使用/教程/实例
- 数字图像处理 第八章 图像压缩
- 地形建模(一)——TIN地形的生成
- zabbix 表结构: triggers中expression 对应的信息
- 华硕主板win10 使用固态硬盘,机械硬盘不显示解决
- CAM350导入rou文件报错‘No header % found,load stopped‘