DM(达梦)数据库安装和基本操作

DM(达梦)数据库安装和基本操作

Linux(Unix)下 DM 的安装
1.检查 Linux(Unix)系统信息
用户在安装 DM 前,需要检查当前操作系统的相关信息,确认 DM 安装程序与当前操作系统匹配,以保证 DM 能够正确安装和运行。用户可以使用以下命令检查操作系统基本信息。如下图所示:
#获取系统位数
getconf LONG_BIT
#查询操作系统 release 信息
lsb_release -a #查询系统信息
cat /etc/issue
#查询系统名称
uname -a
在这里插入图片描述

  1. 创建安装用户
    为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行 DM。用户
    可以在安装之前为 DM 创建一个专用的系统用户。
    2.1. 创建安装用户组 dinstall。
    groupadd dinstall
    2.2. 创建安装用户 dmdba。
    useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
    2.3. 初始化用户密码。
    passwd dmdba
    2.4. 之后通过系统提示进行密码设置。
    注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行操作。

  2. Linux(Unix)下检查操作系统限制
    Linux(Unix)系统中,因为 ulimit 命令的存在,会对程序使用操作系统资源进行限制。为了使 DM 能够正常运行,建议用户检查当前安装用户的 ulimit 参数。
    运行 ulimit -a 进行查询。如下图所示:
    在这里插入图片描述
    4 命令行安装DM
    复制dm数据库iOS文件到虚拟机文件里,用命令mount -o loop iOS文件目录/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso,进行安装

DM数据库基本操作命令

1.基础 CRUD 操作
插入数据
插入单条数据
insert into 模式名.表名 [(列名 1,…,列名 n)] values(值 1,…, 值 n);
插入多条数据
insert into dmhr.student values(1002,‘mike’),(1003,‘jack’);
删除数据
delete from 模式名.表名 [where 条件]
修改数据
update 模式名.表名 set 列 1=值 1,…,列 n=值 n [where 条件]
查询数据
select 列名 1,…,列名 n from 模式名.表名 [where 条件]

2.数据查询
Select 列 1,…,列 n from 表 [where 条件] [group by 分组列 1,…, 列 n] [having 筛选分组条件] [order by 排序列 1,…,列 n]

sum() 求和
count() 统计梳理
max() 求最大值
min() 求最小值
avg() 求平均值

having 筛选分组条件

orde by 分组列名列表

分页查询:select t. 列名列表 from (
select rownum num, 列名列表 from 表名 where rownum < maxValue
) t where num > minValue

函数
length(string) 获取字符串长度(包含空格)
concat(str1,…,strn) 拼接字符串
initcap(string) 将字符串中的单词的首个字母变成

insert(str1,begin_index,length,str2) 从 str1 字符串的指定下标开始删除指定长度的
内容,然后再插入 str2 并返回新字符串
 lower(string) 转小写
 upper(string) 转大写
 trim(string) 去除字符串左右两边的空格
instr(str1,str2,n,m) 返回字符串 str2 在 str1 中,从第 n 个字符开始第 m 次出现的下标
left(string,n) 从字符串左边截取长度为 n 的子串
right(string,n) 从字符串右边截取长度为 n 的子串
substring(string,begin,n) 从字符串的 begin 下标开始截取长度为 n 			的子串
replace(string,old,new) 将 string 字符串中的 old 字符串替换new 字符串

pi() 获取圆周率

rand( ) 生成 0-1 之间的随机小数
floor() 向下取整
ceil() 向上取整
round(number,n) 四舍五入到 n 位小数
trunc(number,n) 直接截断到第 n 位小数
mod(m,n) 求 m/n 的余数
sqrt(number) 求平方根
power(m,n) 求 m 的 n 次方

curdate() 获取当前日期
curtime() 获取当前时间
now() 获取当前日期时间
add_days(date,num) 在指定日期上增加指定的天数(可以为负数)
add_months(date,num) 在指定日期上增加指定的月数
dateadd(datepart,num,date) 在指定日期的指定部分增加指定的数值
datediff(datepart,date1,date2) 计算两个日期的指定部分差值; datepart(datepart,date) 获取指定日期中指定部分的值
dayofweek(date) 计算指定日期是一周中的第几天
dayofyear(date) 计算指定日期是一年中的第几天

多表联查
内联接查询
select 列名列表 from 表 1,表 2 where 两表关联列条件表达式;
左外联接查询
select 列名列表 from 表 1 left outer join 表 2 on 两表关联列条件表达式;
右外联接查询
select 列名列表 from 表 1 full join 表 2 on 两表关联列条件表达式;

子查询

  1. where 子句子查询: 将一个查询的结果作为另一个查询(更新)操作的条件
    select 列名列表 from 表名 where 条件列 = | in | not in (
    子查询
    ) [条件… 其他];
  2. from 子句子查询: 将一个查询的结果看做一张虚拟表提供给其他查询使用
    select 列名列表 from (
    子查询
    ) 临时表名 [条件… 其他];
  3. select 子句子查询: 将一个查询的结果和其他查询的结果进行组合
    select 列名列表,(
    子查询
    ) from 表名 [条件… 其他];
  4. 查询小结: 能用多表联查方式实现的查询使用子查询一定能够实现,但是使用子查询实
    现的查询使用多表联查不一定能够实现,在实际项目业务中根据业务需求灵活使用多表联查
    和子查询。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值