据我们学过的SOL语句有数据插入 ,数据更新,数据删除,以及表单查询,多表查询等,表单查询又包括基础查询,条件查询,高级查询,分组查询,多表查询包括子查询

接下来讲述相关达梦SOL语句                                                                                                   

先是数据插入,有以下两种语句:第一种语句:insert into 表名(字段名1,字段名2,....); values(值1,值2,.....);

第二种语句:insert into 表名 values(值1,值2,....);

 

达梦数据库函数 function while循环 达梦数据库基本语句_数据库

列如给这学生表插入一条数据,如果给全部插入,就可以用第二种语句来插入,如果是有要求插入哪个字段,就用第一种语句

达梦数据库函数 function while循环 达梦数据库基本语句_字段名_02

浏览一下数据,刷新一下,数据就出来了。 

数据更新:update 表名 set [ 字段名1=值1,字段名2=值2.....]  [where  条件表达式]; 

 更新就是 update student set name='lsa' where id=1;(将上面neme更新为lsa)

数据删除:delete  表名  [where  条件表达式]; 

 删除列如删除 student 中的 grade 的记录

delect from student  where id=1;

数据查询语句:

基础查询:

 select  * from 表名

select 字段名1,字段名2,字段名3…… from 表名

select  * from  student 

select  grade,age from student

高级查询:

select * from 表名  where条件表达式1 

group by  字段名 having 条件表达式2

group by 字段名  asc(升序)desc(降序)

limit  数字(记录数);

 

达梦数据库函数 function while循环 达梦数据库基本语句_字段_03

列如有这么些字段, 我们查询书名包含“数据”但不包含“数据库”的图书,并按定价降序显示

select * from book

where bName like‘%数据%’ or not like‘%数据库%

order by price desc

条件查询:

select * from 表名  where 字段名;(select:查什么?from:从哪里查?where:列名)

达梦数据库函数 function while循环 达梦数据库基本语句_字段_04

我们 在上表查询年龄在18到22之间(包括18和22)的“汽车学院”学生的学号、姓名和年龄,并用中文显示列名。

select sno,sname,age

from stu

where age>=18 and age<=22 and college='汽车学院';

分组查询:select [DISTINCT]*|{字段名1,字段名2,字段名3.....}

from 表名

where 条件表达式

group by 字段名  having 条件表达式

order by  字段名 [asc| desc]

limit;

达梦数据库函数 function while循环 达梦数据库基本语句_字段_05

例如 查询所有各出版社图书的平均价格、最高价格、最低价格。

 select * publisher avg(price),max(price),min(price)

from book

group by publisher

多表查询有以下查询(详细更多查询https://eco.dameng.com/

连接查询{内连接,外连接,交叉连接}

子查询(就是一条select语句嵌套在另一条语句内部就为子查询,且子查询可以嵌套在select,delete,insert into,create talbe等语句中)

内连接:inner join on

select 输出项

from 表一  inner join  表二  on  表二.公共列字段=表一.公共列字段(两表要有相同公共字段才可以建立连接);

左右外连接:left/right join  on

交叉连接:cross join 

例如有以下三张表,我们用内连接来测试

                                                             bookstore表(书店)

字段名

数据类型

约束

非空

字段说明

sId

char(3)

主键


书店号

sName

varchar(20)


书店名

address

varchar(50)

地址

                                                          book表结构(图书)

字段名

数据类型

约束

非空

字段说明

bId

char(20)

主键


书号

bName

varchar(50)


书名

author

varchar(30)


作者

publisher

varchar(30)

出版社

publishDate

date


出版日期

price

decimal(6,2)


定价

                                                               iss表结构(发行)

字段名

数据类型

约束

非空

字段说明

sId

char(3)

主键、外键


书店号

bId

char(20)

主键、外键


书名

quan

int


数量

 查询已发行图书中定价最高十本图书的书号及书名。

select  a.bid,a.bname   (这里的a是代表表的别名,表示a表里的字段bId,字母可以随便取,只是方便简写连接)

from book as a inner join iss b  (把book表作为a表,连接到iss表作为b表)

 on b.bid=a.bid  (a表和b表实现两表公共字段连接)

order by a.price desc

limit 10;