1.JavaWeb:
用java技术来解决相关web互联网领域的技术栈
2.数据库:
存储数据的仓库,数据是有组织的进行存储
英文:DataBase,简称DB
3.数据库管理系统:
管理数据库的大型软件
英文:DataBase Management System简称DBMS
4.SQL
英文:Structured Query Language,简称SQL,结构化查询语言
操作关系型数据库的编程语言
定义操作所有关系型数据库的统一标准
5.关系型数据库
关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库
优点:
1.都是使用表结构,格式一致,易于维护
2.使用通用的sql语言操作,使用方便,可用于复杂查询
3,数据存储在磁盘中,安全
6.sql通用语法
1.sql语句可以单行或多行书写,以分号结尾
2.Mysql数据库的sql语句不区分大小写,关键字建议大写
3,注释
单行注释:--注释内容或#注释内容
多行注释:/*注释内容*/
6.DDL:操作数据库、表等
DML:对表中数据进行增删改
DQL:对表中数据进行查询
DCL:对数据库进行权限控制
6.DDL:
数据库:
- 查询:show databases;
- 创建:create database 数据库名称;
- 创建数据库(判断,如果不存在则创建):create database if not exists 数据库名称;
- 删除数据库:drop database 数据库名称;
- 删除数据库(判断,如果存在则删除):drop database if exists 数据库名称;
- 查看当前使用的数据库:select database();
- 使用数据库:use database
表操作:
查询当前数据库下索引表名称:show tables;
查询表结构:desc 表名称;
创建表:create table 表名(
字段名1 数据类型1,
字段名2 数据类型2,
。。。。
字段名n 数据类型n
);
删除表:drop table 表名;
删除表时判断表是否存在:drop table if exist 表名;
修改表名:alter table 表名 rename to 新的表名;
添加一列:alter table 表名 add 列名 数据类型;
修改数据类型:alter table 表名 modify 列名 新数据类型;
修改列名和数据类型:alter table 表名 change 列名 新列名 新数据类型;
删除列:alter table 表名 drop 列名;
指定列添加数据:insert into 表名(列名1,列名2...)values(值1,值2,...);
给全部列添加数据:insert into 表名 values (值1,值2,....);
批量添加数据:insert into 表名(列名1,列名2,.....)values(值1,值2,....),(值1,值2,...).....;
insert into 表名 values(值1,值2,...),(值1,值2,...),...;
修改表数据:update 表名 set 列名1=值1,列名2=值2,...[where 条件];
删除表数据:delete from 表名 [where 条件];
7.DQL
查询多个字段:SELECT 字段列表 FROM 表名;
查询所有数据:SELECT *FROM 表名
去除重复记录:SELECT DISTINCT 字段列表 FROM 表名;
起别名:AS
条件查询:SELECT 字段列表 FROM 表名 WHERE 条件列表;
NULL不能使用=,需要使用is或者is not
模糊查询:
排序查询:
排序查询法:
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]...;
排序方式:ASC:升序排序(默认值)
DESC:降序排序
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序
聚合函数:
1.概念:将一列数据作为一个整体,进行纵向计算
2.聚合函数分类:
3.聚合函数语法:
SELECT 聚合函数名(列名) FROM 表;
注意:null值不参与所有聚合函数运算
分组查询:
1.语法:SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where和having的区别:
执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤
可判断的条件不一样:where不能对聚合函数进行判断,having可以
执行顺序:where>聚合函数>having
分页查询:
语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;
起始索引:从0开始
计算公式:起始索引=(当前页面-1)*每页显示的条数
tips:
分页查询limit是MYSQL数据库的方言
Oracle分页查询使用rownumber
SQL server 分页查询使用top