达梦数据库安装
虚拟机环境:virtualbox 6.1 操作系统:kyserver 10 数据库版本:dm8
打开终端
1.查看cpu型号
lscpu
2.查看内存
free -m
3.查看硬盘大小
fdisk -l
df -h
/tmp分区至少要1GB
4.查看系统版本,要求2.6以上
nuame -ar
5.关闭防火墙
systemctl stop firewalld
6.创建用户dmdba
创建用户组dinstall
在该用户组下创建dmdba用户
groupadd dinstall
useradd -g dinstall dm
7.给用户组设置密码
passwd dmdba
8.创建目录
mkidr /dm8
9.赋予操作权限
chown dmdba:dinstall /dm8
10在/mnt目录下新建dm目录,用于后续挂载
mkdir /mnt/dm
11.挂载
---将安装文件挂载到/mnt/dm目录下,其中/opt/dm8***.iso为安装包文件地址
mount /opt/dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt/dm
12.切换到dmdba
su - dmdba
13.切换到挂载目录
cd /mnt/dm
14.进行图形化安装
./DMInstall.bin
15图形化界面引导
选择简体中文和中国标准时间后确定
弹出DM安装程序直接点下一步
在许可界面点击接受
进入key文件界面,直接点击下一步
安装模式选择典型安装
安装路径选择/dm8
确认无误后选择安装
完成安装后在root用户下实施脚本命令
到此达梦数据库安装完成
创建数据库
创建一个LIBARA00模式属于sysdba用户
create schema library00 authorization sysdba;
创建表
在libara00模式下创建一张TBL_BookInfo表
creatc table library00.tbl_bookinfo (
bookid char(15) not null,
isbn char(20) not null,
bookname varchar(50) not null,
author varchar(50) not null,
publishdate varchar(50),
bookversion varchar(40),
wordcount int,
pagecount smallint(6),
publisher varchar(40),
classid varchar(50) NOT NULL,
primary key (bookid),
foreign key(classid) references tbl_classinfo(classid)
);
插入数据
在tbl_bookinfo表里插入一条数据(001,G41,中国近代史,张三,1991-04-12,第一版,12000,578,电子信息出版社,C)
insert into library00.tbl_bookinfo values ('001','G41','中国近代史','张三','1991-04-12','第一版',12000,578,'电子信息出版社','C');
插入多条数据
insert into library00.tbl_bookinfo values ('002','C78','故事集','李四','1991-04-30','第二版',134,1,'北化出版社','C'),('003','G23','诗集','王五','1998-11-12','第三版',12000,578,'南岭出版社','B');
删除数据
删除tbl_bookinfo表中bookid为003的数据
delete from libaray00.tbl_bookinfo where bookid='003';
插入数据、更新数据、删除数据都要提交
提交语句为commit
commit;
查询语句
查询TBL_BookInfo表的所有信息
select * from libaray00.tbl_bookinfo;
查询TBL_BookInfo表里书籍的bookid和author两个字段信息
select bookid,author from libaray00.tbl_bookinfo;
条件查询
查询某个特定范围的数据则需要加入条件
如查询bookid为001的书本所有信息
select * from libaray00.tbl_bookinfo where bookid='001';
between关键字
从tbl_bookinfo表查询某一个时间段的数据,如查询1991-12-01到1993-02-12出版的图书信息
select * from libaray00.tbl_bookinfo where publishdate between '1991-12-01' and '1993-02-12';
in关键字
从tbl_bookinfo表查询bookid为001、002、003的书籍信息
select * from libaray00.tbl_bookinfo where bookid in ('001','002','003');
高级查询
distinct关键字
distinct是去除重复值子句,去除查询记录数据的重复数据
从tbl_bookinfo表查询所有出版社名字
select distinct publisher from libaray00.tbl_bookinfo;
order by子句
order by子句是排序子句,对查询的的数据做上升或下降排序,其中asc表示按升序排序,desc表示按降序排序
按出版社日期的升序来检索tbl_bookinfo中所有数据
select * from libaray00.tbl_bookinfo order by publishdate asc;
limit
limit限量子句,可以限定记录的数量,也可以指定查询从哪一条开始
查询tbl_bookinfo表中电子出版社出版的书籍信息只显示一条数据
select * from libaray00.tbl_bookinfo where publisher='电子信息出版社' limit 1;
查询tbl_bookinfo表中电子出版社出版的书籍信息显示6-10行数据
select * from libaray00.tbl_bookinfo where publisher='电子信息出版社' limit 5,5;
分组查询
group by子句
查询时添加group by(分组子句),即可进行分组统计
查询tbl_bookinfo表中各出版社的图书册数
select publisher,count(*) from libaray00.tbl_bookinfo group by publisher;
多表查询
连接查询
现有tbl_bookinfo表,还有tbl_borrowinfo表和tbl_user表
tbl_borrowinfo表信息如下:
tbl_user表信息如下
现在需要查询肖明2019年3月12日借阅的书的书籍全部信息
select b.*
from libaray00.tbl_user a
inner join libaray00.tbl_borrowinfo b on a.userid=b.userid
inner join libaray00.tbl_bookinfo c on b.bookid=c.bookid
where a.username='肖明' and b.borrowinfo='2019-03-12';
多表连接比较复杂,两张表之间连接一定要有公共字段才能连接,就像如上tbl_user表连接tbl_borrowinfo表就使用了他们的公共字段userid,多表连接的语法就是(select 查询目标 from 表1 inner join 表2 on 它们的公共字段 where 条件)