java基础专栏—DB(1)

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 字段 顺序

乱码问题

  • set names 'GBK'

聚合函数

纵向查询,聚合,对一列进行计算而后返回单一的一个值,聚合函数会忽略空值

  • count 统计不为空的行数
    • select count(*) from 表名
  • sum 指定列的数值和,若是不是数值就是0
    • select sun(*) form 表名 where 条件
  • max 返回最大值,若是是字符串就用排序运算
  • min 返回最小值,若是是字符串就用排序运算
  • avg 计算平均值,若是不是数值,返回0

分组查询

对重复数据单独分组:必须和聚合函数一块儿使用

  • group by 被分组的列名
    • select sum(xxx) form 表名 group by 字段
  • having 条件;分组以后再次查询语句

==查询中容许直接运算==

相关文章
相关标签/搜索