关于数据库的分类以及语法规则

JDBC数据库主要分为四大部分语言:

DDL:数据库定义语言,用来定义数据库,库表列等

DML:数据操作语言,用来定义数据库记录(数据)

DCL:数据控制语言,用来定义访问权限和安全级别

DQL:数据查询语言,用来查询记录(数据)


1.DDL语句,主要涉及表格结构

创建数据库--create datebase 数据库名 charset 字符集名(通常是utf8)

切换数据库--use 数据库名

查看数据库--show 数据库名

查看数据库定义信息--show create datebase 数据库名

删除数据库-- drop database 数据库名

  • 单行:#注释内容
  • 多行:/* 多行注释 */

创建表格(重点,高频)

create table 表名 (

字段名 类型(长度)【约束】

字段名 类型(长度)【约束】

。。。

);

其中经常使用的语句

id int primary key auto_increment;

其中

name varchar(30) not null,

修改表结构

运用alter语句

alter(影响)table 表格名字

如果想增加就在后面ADD( 新加的字段名称)‘dec’ 字段长度varchar(30)

修改字段类型modify ,可以修改列的长度还有约束

修改范围更大的是change,可以修改列名,长度,约束

格式:alter table 表格名字 change 旧列名新列名长度约束

alter table 表格名 drop 列名------>修改表删除列

2.DML语句

2.1插入用insert into 增加操作

insert into表格名字(可以挑选一部分属性) values(对应的值)

也可以直接进行 insert into 表格名字 values(所有的值)

用来修改指定条件的数据,将满足条件的记录指定列修改为指定值,此时的语句是update

2.2修改操作 用update进行修改表数据

update 表名 set 字段名 =值,字段名 =值

需要搜索有特定条件的地方时,采用where (比如想搜索某个列名=某个值的时候,可以进行筛选)

2.3删除操作用delete,这点区别于表格结构的drop

delete from 表名 [where 条件];

3.DCL模块

在实际生产中,我们的表格环境是多个表格相互关联,这就需要通过表格的主键进行约束

3.1主键约束的关键字

primary key

设置为主键的列有一下特点:

不能为null

同时数据唯一,不可重复

几种方式

添加方式一:在创建表时,在字段后面直接指定

create table 表格名字(

id int primary key ,(此时就可以添加了)

);

添加方式二:在constraint约束区域,去指定主键约束

需要先解释下什么叫做constraint约束区域,说白了就是创建表格之后与右边的括号之间的区域,这块区域可以添加约束,和平时的留白一样

constraint[名称] 列名primary key (通常还是给id进行添加)

constraint[名称] 可以省略

添加方式三:修改表结构,运用alter语句,这里注意和update语句区别开来,那个是针对列的

#ALTER TABLE persons DROP PRIMARY KEY->删除主键约束

自动增长列

1.关键字:auto_increment

2.使用:一般和primary key 一起使用

truncate和delete区别

delete 和 truncate区别

delete:如果在自增长的情况下删除,新添加的数据不会重新为主键编号

truncate:摧毁表结构,新添加的数据会重新为主键编号->直接将表删除,重新建表

主键会从1开始

非空约束

1.关键字:NOT NULL

2.特点:如果一个列设置为非空约束,此列中的数据不能是NULL

唯一约束

1.关键字:UNIQUE

2.特点:一个列被设置为唯一约束,此列中的数据不能重复

4.DQL语句

date query language

query:查询,也就是说这是一门查询语句

常用查询

最常用就是select * from 表格名字 where 限定条件(列名=需要寻找的值)

排序查询

1.关键字:order by

ASC:升序(默认)

DESC:降序

2.语法格式:

SELECT * FROM 表名 ORDER BY 排序字段 ASC|DESC;

3.注意

a.asc和desc不区分大小写

b.先排序,还是先查询?

先查询,后排序

我们一般会将排序写到sql的最后

sql语句执行顺序

select 字段名称/聚合函数 from 表名称 where 条件 group by 分组字段名称 having 对分组后条件 order by 字段名称

from where group by having select order by

先定位到要查询哪个表,然后根据什么条件去查,表确定好了,条件也确定好了,开始利用select查询

查询得出一个结果,在针对这个结果进行一个排序

聚合函数:针对于纵向查询的

sum(列名):针对指定的列进行求和

avg(列名):针对指定的列进行求平均值

count(列名):统计指定列不为NULL的记录行数;

max(列名):求指定列中的最大值

min(列名):求指定列中的最小值

分组查询

1.关键字: group by 后面跟的是按照哪一列进行分组

2.格式:

SELECT 字段1,字段2… FROM 表名 GROUP BY分组字段 HAVING 分组条件;

3.分组的秘诀(按照哪个列分组)

相同的为一组,不同的单独成一组

按照哪一列去分组,就看根据哪一列是否是相同的成为一组合并

4.HAVING 条件 用在分组之后

where 条件 用在分组之前

5.注意:分组要和聚合函数一起使用

分页查询

1.格式:select * from 表名 limit m,n

m:起始位置

n:每页显示多少条数据

2.注意:分页的时候起始位置都是从0开始

3.分页要掌握的参数:

-- 注意:下面是伪代码不用于执行

a.起始位置怎么计算 :(当前页-1)*每页显示条数

b.int curPage = 2; -- 当前页数

c.int pageSize = 5; -- 每页显示数量

d.int startRow = (curPage - 1) * pageSize; -- 当前页, 记录开始的位置(行数)计算

e.int totalSize = select count(*) from products; -- 记录总数量

f.int totalPage = Math.ceil(totalSize * 1.0 / pageSize); -- 总页数

​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值