kingbase 建表语句及插入示例数据

-- 查看solt使用情况
SELECT * FROM pg_replication_slots
-- 释放slot
SELECT pg_drop_replication_slot('slot_name');
-- 查看最多使用slot个数:
SHOW max_replication_slots;


CREATE TABLE kb (
                    smallint_test		smallint	,
                    int2_test		int2	,
                    int_test		int	 primary key ,
                    int4_test		int4	,
                    int8_test		int8	,
                    bigint_test		bigint	,
                    double_pre_test		double precision	,
                    decimal_test		decimal(38,16)	,
                    numeric_test		numeric(38,16)	,
                    real_test		real	,
                    float4_test		float4	,
                    float8_test		float8	,
                    bigserial_test		bigserial	,
                    character_test		character(10)	,
                    npchar_test		bpchar(255)	,
                    varchar_test		varchar(1024)	,
                    text_test		text	,
                    bytea_test		bytea	,
                    timestamp_test		timestamp	,
                    timestamptz_test		timestamptz	,
                    date_test		date	,
                    time_test		time	,
                    timetz_test		timetz	,
                    bool_test		bool	,
                    bit_test		bit	,
                    xml_test		xml	,
                    json_test		json	,
                    smallserial_test		smallserial	,
                    serial_test		serial	,
                    money_test		money	,
                    interval_test		interval	,
                    uuid_test		uuid
)



INSERT INTO kb (smallint_test, int2_test, int_test, int4_test, int8_test, bigint_test, double_pre_test, decimal_test, numeric_test,
    real_test, float4_test, float8_test, bigserial_test, character_test, npchar_test, varchar_test, text_test, bytea_test,
    timestamp_test, timestamptz_test, date_test, time_test, timetz_test, bool_test, bit_test, xml_test, json_test,
    smallserial_test, serial_test, money_test, interval_test, uuid_test)
VALUES (
           123,
           123, -- 假设这是一个整数字段
           1, -- 假设这也是一个整数字段
           456, -- 同上
           '78912345678', -- 假设这是一个字符串(CHAR 或 VARCHAR)
           '123456789', -- 同上
           2345.234, -- 假设这是一个浮点数
           123456789.123456, -- 同上,可能需要调整精度以适应数据库定义
           123456789.123456, -- 同上
           123.45, -- 浮点数
           123.45, -- 同上
           123.456789, -- 同上
           10, -- 整数
           'A', -- 字符串
           'B', -- 字符串
           'This is a varchar', -- 字符串
           'This is a text', -- 字符串(可能对应TEXT类型)
           '0xDEADBEEF', -- 假设这是一个表示二进制数据的字符串
           '2023-10-23 10:00:00', -- 日期时间,根据数据库的要求调整格式
           '2023-10-23 02:00:00', -- 同上
           '2023-10-23', -- 日期
           '10:00:00', -- 时间
           '02:00:00', -- 时间
           FALSE, -- 布尔值
           '1', -- 布尔值
           '<root><element>Sample 2XML data</element></root>', -- 对于无法加载的字段,使用NULL或适当的默认值
           '{"key": "value"}', -- 假设这是一个JSON字符串(如果数据库支持JSON类型)
           11, -- 整数
           11, -- 同上
           25.56, -- 浮点数
           INTERVAL '1 day 2 hours 30 minutes', -- 间隔类型,注意格式可能需要根据数据库调整
           'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11' -- UUID或其他字符串类型
       );






CREATE TABLE employees (
                           id SERIAL PRIMARY KEY,
                           name VARCHAR(100) NOT NULL,
                           age INT,
                           salary DECIMAL(10, 2),
                           is_manager BOOLEAN DEFAULT FALSE,
                           hire_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                           email VARCHAR(100) UNIQUE,
                           phone_number VARCHAR(20),
                           address TEXT
);
INSERT INTO employees (id,name, age, salary, is_manager, email, phone_number, address)
VALUES
    (5,'Alice Johnson', 30, 50000.00, FALSE, 'alice@example.com', '123-456-7890', '123 Main St, Anytown, USA'),
    (6,'Bob Smith', 35, 65000.50, TRUE, 'bob@example.com', '098-765-4321', '456 Elm St, Anytown, USA'),
    (7,'Charlie Davis', 28, 48000.75, FALSE, 'charlie@example.com', '111-222-3333', '789 Oak St, Anytown, USA');

update employees set salary = 777.22 where id = 7;

在 Linux 系统下使用人大金仓(Kingbase数据库创数据,需要遵循一定的操作流程。首先确保 Kingbase 已经正确安装并配置完成,并且数据库实例已经启动。 ### 创数据的步骤 1. **登录到 Kingbase 数据库** 可以通过 `ksql` 命令行工具连接到目标数据库。假设数据库名为 `testdb`,数据库管理员用户为 `kingbase`: ```bash ksql -U kingbase -d testdb ``` 2. **创模式(Schema)** 如果尚未存在用于组织的模式,可以先创一个模式。例如,创名为 `myschema` 的模式: ```sql CREATE SCHEMA myschema; ``` 3. **在指定模式下创数据** 使用 `CREATE TABLE` 语句在特定模式下创。以下是一个创用户信息示例: ```sql CREATE TABLE myschema.users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 上述语句中: - `SERIAL` 示自动递增的整数类型。 - `VARCHAR(n)` 示可变长度字符串,最大长度为 `n`。 - `NOT NULL` 示字段不能为空。 - `DEFAULT` 用于设置默认值,如时间戳默认为当前时间。 4. **验证是否创成功** 登录到数据库后,可以通过 `\dt` 查看当前数据库中的所有,或者使用以下 SQL 查询确认是否存在: ```sql SELECT * FROM myschema.users; ``` 5. **插入测试数据** 插入一条记录进行测试: ```sql INSERT INTO myschema.users (username, email) VALUES ('john_doe', '[email protected]'); ``` 6. **查询数据** 执行查询以确认数据已正确插入: ```sql SELECT * FROM myschema.users; ``` ### 注意事项 - 在创时,注意大小写敏感设置。如果安装时选择了大小写不敏感(默认),则对象名会被自动转换为小写[^3]。 - 确保使用的用户拥有对相应模式和空间的操作权限。 - 若需图形化界面操作,可通过 Kingbase 提供的客户端工具实现,如 KStudio。 ### 示例代码:完整的插入操作 ```sql -- 创模式 CREATE SCHEMA IF NOT EXISTS myschema; -- 创 CREATE TABLE myschema.employees ( emp_id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, department VARCHAR(50), salary NUMERIC(10, 2), hire_date DATE DEFAULT CURRENT_DATE ); -- 插入数据 INSERT INTO myschema.employees (name, department, salary) VALUES ('Alice Smith', 'HR', 60000.00); -- 查询数据 SELECT * FROM myschema.employees; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值