DB
数据库是存储数据的仓库,其本质是文件管理系统
,数据按照特定格式将数据存储起立,用户能够对数据库中的数据操做。数据库自己就是一个服务器,用户面对的是管理数据库的操做系统。java
表与类的关系
java中的类与数据库中的表是对应的,java的成员变量对应于数据库中的字段,每一条表格数据对应一个java对象。将java开发与DB对应,当用户使用的时候就要对应产生对象。而且数据库的链接要保持安全,必须使用TCP/IP协议,使用UTF-8的编码格式。sql
Sql语句
SQL结构化查询语言
,用于存储查询数据数据库
类型 |
描述 |
INT |
整型 |
DOUBLE |
浮点型 |
VARCHAR |
字符串类型 |
DATE |
日期类型,年月日 |
库操做
安全
- create database 数据库名;
- create database 数据库名 character set 字符集;
- show databases;查看Mysql服务器中全部的数据库
- show create database 数据库名;查看某个数据库的定义的信息
- drop database 数据库名称;删除数据库
- use 数据库名;
- select database();查看正在使用数据库
表操做
服务器
-
create table 表名(函数
字段名 数据类型 约束,编码
字段名 数据类型 约束,操作系统
字段名 数据类型 约束code
);orm
-
show tables;
-
desc 表名;
-
drop table 表名
-
rename table 表名 to 新名;
约束
- not null;不为空约束
- primary key;主键约束,保证主键是惟一的,而且不为空
- auto_increment;自增加
改表操做
- alter table 表名 add 列名 数据类型 约束; 添加一个字段
- alter table 表名 modify 列名 数据类型 约束;修改lie名,数据类型和约束
- alter table 表名 change 旧列名 新列名;修改列名
- alter table 表名 drop 列名;删除列
添加数据
- insert into 表名{列名 1,列名 2} values (值1,值2)
- insert into 表名 (列名) values (值)添加数据格式,不考虑主键
- insert into 表名 values (全列值)
批量写入
- insert into 表名 (列名1,列名2 ,列名3) values (值),(值),(值);
数据的跟新操做
- update 表名 set 列1 = 值1,列2 = 值2 while 条件
- update 表名 set 列名 = 值 while 条件
- delete from 表名 where 条件
查询数据
- select * from 表名;
- select distinct 字段 form 表名;去掉重复的记录
- select 字段 form 表名as 别名字段
条件写法
<>
不等于
and
or
not
与或非
in(set)
包含
like
%
用来匹配多个字符,/
匹配一个字符
模糊查询
- select * from 表名 where 字段 like %xxx% 匹配中间含有xxx的
- select * from 表名 where 字段 like ______匹配五个字符的
is null
判空
between and
组合期间查询
排序
- order by 列名 [desc] ,[asc]
- select * from 表名 order by 字段 顺序
乱码问题
聚合函数
纵向查询
,聚合,对一列进行计算而后返回单一的一个值,聚合函数会忽略空值
- count 统计不为空的行数
- sum 指定列的数值和,若是不是数值就是0
- select sun(*) form 表名 where 条件
- max 返回最大值,若是是字符串就用排序运算
- min 返回最小值,若是是字符串就用排序运算
- avg 计算平均值,若是不是数值,返回0
分组查询
对重复数据单独分组:
必须和聚合函数一块儿使用
- group by 被分组的列名
- select sum(xxx) form 表名 group by 字段
- having 条件;分组以后再次查询语句
==查询中容许直接运算==