‍博主简介CSDN博客专家云计算领域优质创作者华为云开发者社区专家博主阿里云开发者社区专家博主交流社区运维交流社区 欢迎大家的加入 希望大家多多支持我们一起进步如果文章对你有帮助的话欢迎 点赞 评论 收藏 ⭐️ 加关注文章目录一、数据库的操作1.1 进入数据库1.2 创建数据库1.3 查看所有数据库1.4 切换到其他数据库1.5 查看当前数据库下的所有表1.6 查看表结构1.7 删除表1.8 删除库1.9 删除一个表中的字段1.10 退出数据库二、数据库的操作 - 模式2.1 查看模式2.1.1 查看所有模式2.1.2 用SQL查询所有模式包含内部模式2.1.3 查看当前使用的模式2.1.4 查看当前搜索路径模式查找顺序2.1.5 查看指定模式的表结构2.2 创建模式2.2.1 创建新的模式2.2.2 创建模式并指定所有者2.2.3 如果模式不存在则创建防重复2.3 切换/设置模式2.3.1 切换到指定模式当前会话有效2.3.2 设置多个搜索路径按顺序查找2.3.3 恢复默认搜索路径2.3.4 修改数据库的默认模式2.3.5 修改用户的默认模式2.3.6 重置搜索路径为默认值2.4 修改模式2.4.1 重命名模式2.4.2 修改模式的所有者2.5 删除模式2.5.1 删除模式模式必须为空2.5.2 删除模式及其所有对象表、视图等2.5.3 如果模式存在则删除2.5.4 默认行为非空则报错2.6 权限管理2.6.1 授予模式的所有权限2.6.2 允许用户在该模式下创建对象2.6.3 允许用户使用该模式下的对象2.6.4 收回模式的所有权限2.6.5 收回创建权限2.7 在模式下操作表2.7.1 在指定模式下创建表2.7.2 查看指定模式下的所有表2.7.3 查看指定模式下某表的结构2.7.4 删除指定模式下的表2.7.5 查询指定模式下的表数据三、数据库的导入导出3.1 导出数据库3.1.1 常用导出命令3.1.2 通用连接参数3.1.3 输出控制参数最常用3.1.4 内容选择参数核心3.1.5 数据格式控制参数3.1.6 对象过滤参数3.1.7 清理与恢复相关参数3.1.8 其他实用参数3.2 数据库恢复命令3.2.1 常用恢复命令一、数据库的操作1.1 进入数据库一般默认用户为kingbaseksql-h主机地址-p端口号-U用户名 ksql-U用户名1.2 创建数据库CREATE DATABASE 数据库名;1.3 查看所有数据库\l1.4 切换到其他数据库\c 库名1.5 查看当前数据库下的所有表\dt1.6 查看表结构\d 表名1.7 删除表DROPTABLE表名;1.8 删除库不能删除当前连接的数据库会报错DROPDATABASE数据库名;DROPDATABASEIFEXISTS数据库名;-- 防报错DROPDATABASE数据库名WITH(FORCE);-- 强制删除终止所有连接后删除1.9 删除一个表中的字段ALTERTABLE表名DROPCOLUMN字段名;ALTERTABLE表名DROPCOLUMNIFEXISTS字段名;-- 字段不存在时不报错ALTERTABLE表名DROPCOLUMN字段名CASCADE;-- 级联删除依赖对象视图、外键等1.10 退出数据库\q二、数据库的操作 - 模式2.1 查看模式2.1.1 查看所有模式# 列出所有模式\dn# 列出所有模式含描述\dn2.1.2 用SQL查询所有模式包含内部模式SELECT*FROMsys_namespace;2.1.3 查看当前使用的模式SELECTcurrent_schema();2.1.4 查看当前搜索路径模式查找顺序SHOWsearch_path;2.1.5 查看指定模式的表结构\dt 模式名.*2.2 创建模式2.2.1 创建新的模式CREATESCHEMA模式名;2.2.2 创建模式并指定所有者CREATESCHEMA模式名AUTHORIZATION用户名;2.2.3 如果模式不存在则创建防重复CREATESCHEMAIFNOTEXISTS模式名;2.3 切换/设置模式2.3.1 切换到指定模式当前会话有效SETsearch_pathTO模式名;2.3.2 设置多个搜索路径按顺序查找SETsearch_pathTO模式1,模式2;2.3.3 恢复默认搜索路径SETsearch_pathTO$user,public;2.3.4 修改数据库的默认模式ALTERDATABASE数据库名SETsearch_pathTO模式名;2.3.5 修改用户的默认模式ALTERUSER用户名SETsearch_pathTO模式名;2.3.6 重置搜索路径为默认值RESET search_path;2.4 修改模式2.4.1 重命名模式ALTERSCHEMA模式名RENAMETO新模式名;2.4.2 修改模式的所有者ALTERSCHEMA模式名 OWNERTO新所有者;2.5 删除模式2.5.1 删除模式模式必须为空DROPSCHEMA模式名;2.5.2 删除模式及其所有对象表、视图等DROPSCHEMA模式名CASCADE;2.5.3 如果模式存在则删除DROPSCHEMAIFEXISTS模式名;2.5.4 默认行为非空则报错DROPSCHEMA模式名RESTRICT;2.6 权限管理2.6.1 授予模式的所有权限GRANTALLONSCHEMA模式名TO用户名;2.6.2 允许用户在该模式下创建对象GRANTCREATEONSCHEMA模式名TO用户名;2.6.3 允许用户使用该模式下的对象GRANTUSAGEONSCHEMA模式名TO用户名;2.6.4 收回模式的所有权限REVOKEALLONSCHEMA模式名FROM用户名;2.6.5 收回创建权限REVOKECREATEONSCHEMA模式名FROM用户名;2.7 在模式下操作表2.7.1 在指定模式下创建表CREATETABLE模式名.表名(...);2.7.2 查看指定模式下的所有表\dt 模式名.*2.7.3 查看指定模式下某表的结构\d 模式名.表名2.7.4 删除指定模式下的表DROPTABLE模式名.表名;2.7.5 查询指定模式下的表数据SELECT*FROM模式名.表名;三、数据库的导入导出3.1 导出数据库sys_dump[参数]3.1.1 常用导出命令导出数据库信息 - 包含创建表结构、插入数据、创建模式注意不包含创建数据库的sqlsys_dump-U用户名-d数据库名-f/路径/备份.sql导出指定数据库的表结构不包含自动创建数据库sql及数据sys_dump-U用户名-d数据库名-s-f/路径/备份.sql导出指定数据库需要自动创建库和表结构的sql不包含数据sys_dump-U用户名-d数据库名-s-C-f/路径/备份.sql导出指定数据库的自动创建库和表结构及数据sys_dump-U用户名-d数据库名-C-f/路径/备份.sql导出指定模式的表结构sys_dump-U用户名-d数据库名-n模式名-s-f/路径/备份.sql导出指定模式的表结构及数据sys_dump-U用户名-d数据库名-n模式名-f/路径/备份.sql导出指定模式的表结构及数据插入数据默认的COPY换为INSERTsys_dump-U用户名-d数据库名-n模式名--inserts-f/路径/备份.sql sys_dump-U用户名-d数据库名-n模式名 --column-inserts-f/路径/备份.sql# --inserts、--column-inserts 两者区别在于前者导出的插入语句不带列名例如# --inserts## INSERT INTO public.users VALUES (1, 张三, 25);# --column-inserts## INSERT INTO public.users (id, name, age) VALUES (1, 张三, 25);不常用的导出命令# 1. 导出指定表含数据sys_dump-U用户名-d数据库名-t模式名.表名1-t模式名.表名2-f/路径/备份.sql# 2. 导出指定表只结构sys_dump-U用户名-d数据库名-t模式名.表名-s-f/路径/备份.sql# 3. 导出带清理语句恢复前先删除已存在的对象sys_dump-U用户名-d数据库名-c--if-exists-f/路径/备份.sql# 4. 导出为自定义二进制格式配合sys_restore使用体积小sys_dump-U用户名-d数据库名-Fc-Z6-f/路径/表结构备份.dmp# 5. 排除日志表的数据只导结构sys_dump-U用户名-d数据库名 --exclude-table-datasys_oper_log-f/路径/备份.sql# 6. 导出一个模式用INSERT格式每1000行提交一次sys_dump-U用户名-d数据库名-nsso--inserts--rows-per-insert1000-f/路径/备份.sql3.1.2 通用连接参数参数说明示例-h, --hostHOST数据库服务器主机地址-h 127.0.0.1-p, --portPORT数据库端口号默认54321-p 54321-U, --usernameNAME连接用户名-U kingbase-W, --password强制提示输入密码-W-d, --dbnameDBNAME要连接的数据库名-d mould--no-password不提示输入密码--no-password3.1.3 输出控制参数最常用参数说明示例-f, --fileFILENAME指定输出文件路径-f ./backup.sql-F, --formatcdt-v, --verbose显示详细执行信息-v-Z, --compress0-9压缩级别0-9仅适用于自定义格式-Z 63.1.4 内容选择参数核心参数说明示例-a, --data-only只导出数据不导结构-a-s, --schema-only只导出结构不导数据-s-n, --schemaSCHEMA只导出指定模式-n mould-N, --exclude-schemaSCHEMA排除指定模式-N public-t, --tableTABLE只导出指定表可多个-t public.users-T, --exclude-tableTABLE排除指定表-T public.temp--include-table-dataTABLE只导出指定表的数据--include-table-datausers--exclude-table-dataTABLE排除指定表的数据--exclude-table-datalog--include-tablespace包含表空间定义--include-tablespace--no-tablespaces不导出表空间定义--no-tablespaces3.1.5 数据格式控制参数参数说明示例--inserts数据用INSERT INTO代替COPY--inserts--column-insertsINSERT显式带列名兼容性最好--column-inserts--rows-per-insertN每条INSERT插入 N 行数据配合--inserts使用--rows-per-insert1000--no-tablespaces不导出表空间分配信息--no-tablespaces--no-acl不导出权限GRANT/REVOKE--no-acl--no-owner不导出对象所有者信息--no-owner--no-sync跳过文件同步可提升速度--no-sync3.1.6 对象过滤参数参数说明示例-O, --no-owner不导出所有者信息-O-x, --no-privileges不导出权限信息-x--disable-triggers导出时禁用触发器用于数据恢复--disable-triggers--enable-row-security启用行安全策略--enable-row-security--exclude-table-dataTABLE排除特定表的数据--exclude-table-datalog--exclude-schemaSCHEMA排除特定模式--exclude-schematemp3.1.7 清理与恢复相关参数参数说明示例-c, --clean导出前先执行DROP清理语句-c-C, --create在导出文件中包含CREATE DATABASE语句-C-r, --roles-only只导出角色用户信息-r--if-exists配合-c使用DROP时加IF EXISTS--if-exists3.1.8 其他实用参数参数说明示例-E, --encodingENCODING指定导出文件的字符编码-E UTF8--sectionPRE/ DATA / POST只导出指定部分--sectionDATA--quote-all-identifiers所有标识符加双引号--quote-all-identifiers--no-unlogged-table-data不导出未记录日志表的数据--no-unlogged-table-data--serializable-deferrable使用可串行化事务保证一致性快照--serializable-deferrable--lock-wait-timeoutTIMEOUT等待表锁超时时间--lock-wait-timeout60000--use-set-session-authorization用SET SESSION AUTHORIZATION替代ALTER OWNER--use-set-session-authorization3.2 数据库恢复命令导出格式推荐恢复方式说明纯文本.sql默认ksql -U kingbase -d 数据库名 -f 文件.sql最通用可读性好自定义格式.dmp-Fcsys_restore -U kingbase -d 数据库名 文件.dmp支持并行恢复、选择性恢复Tar包.tar-Ftsys_restore -U kingbase -d 数据库名 -Ft 文件.tar适合归档目录格式-Fdsys_restore -U kingbase -d 数据库名 -Fd 目录/支持并行恢复3.2.1 常用恢复命令# 恢复纯文本SQLksql-Ukingbase-dmould-f./mould_backup.sql# 恢复自定义格式可选择性恢复sys_restore-Ukingbase-dmould ./mould.dmp# 恢复自定义格式只恢复结构sys_restore-Ukingbase-dmould-s./mould.dmp# 恢复自定义格式只恢复指定表sys_restore-Ukingbase-dmould-tusers./mould.dmp数据库中导入sql# 需要先进入到库中\i/路径/备份.sql