Java基础语法(二十八)

版权声明:作者已开启版权声明,如转载请注明转载地址。 https://blog.csdn.net/qq_34829447/article/details/82191106

一.数据库

1.数据库的概念

  • 什么是数据库
    • 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
  • 2.什么是数据库管理系统
    • 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

2.常见的数据库

  • MYSQL:开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
  • Oracle:收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。
  • DB2:IBM公司的数据库产品,收费的。常应用在银行系统中
  • SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
  • SyBase:已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
  • SQLite:嵌入式的小型数据库,应用在手机端。
  • Java相关的数据库:MYSQL,Oracle

3.MySQL的登录

  • mysql –u用户名 –p密码
  • mysql --host=ip地址 --user=用户名 --password=密码

4.SQL分类

  • 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
  • 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
  • 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户
  • 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

二.SQL语句

1.创建数据库

create database 数据库名;
create database 数据库名 character set 字符集;

2.查看数据库

#查看数据库MySQL服务器中的所有的数据库:
show databases;
#查看某个数据库的定义的信息:
show create database 数据库名;

3.删除数据库

drop database 数据库名称;

4.其他的数据库操作命令

#切换数据库
use 数据库名;

5.查看正在使用的数据库

select database();

6.创建数据库表格式

create table 表名(
    字段名 类型(长度) 约束,
    字段名 类型(长度) 约束
);

7.约束

create table 表名(
    列名 类型(长度) 约束,
    列名 类型(长度) 约束
);
  • 约束有哪些
    • 主键约束(非空,唯一)primary key
      • 删除主键alter table 表名 drop primary key;
      • 自增长auto_increment
    • 非空约束
    • 唯一约束
    • 外键约束
    • 等…

8.常见表操作

  • 查看数据库中的所有表

    show tables;
  • 查看表结构

    desc 表名;
  • 删除表

    drop 表;
  • 修改表结构——添加列

    alter table 表名 add 列名 类型(长度) 约束;
  • 修改表结构——修改列的类型长度及约束

    alter table 表名 modify 列名 类型(长度) 约束;
  • 修改表结构——修改列名

    alter table 表名 change 旧列名 新列名 类型(长度) 约束;
  • 修改表结构——删除列

    alter table 表名 drop 列名;
  • 修改表名

    rename table 表名 to 新表名;
  • 修改表的字符集

    alter table 表名 character set 字符集;

9.添加数据

  • 添加数据格式,不考虑主键

    insert into 表名 (列名) values (值)
  • 添加数据格式,所有值全部给出

    insert into 表名 values (值1,值2,值3..);#向表中插入所有列
  • 添加数据格式,批量写入

    insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3)

10.更新数据

  • 用来修改指定条件的数据,将满足条件的记录指定列修改为指定值
    • update 表名 set 字段名=值,字段名=值;
    • update 表名 set 字段名=值,字段名=值 where 条件;
  • 注意:
    • 列名的类型与修改的值要一致
    • 修改值得时候不能超过最大长度
    • 值如果是字符串或者日期需要加’’

11.删除数据

  • 语法
    • delete from 表名 [where 条件];
    • truncate table 表名;
  • 面试题:删除表中所有记录使用delete from 表名; 还是用truncate table 表名;
    • 删除方式:delete 一条一条删除,不清空auto_increment记录数。
    • truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。

12.数据的基本查询

  • 查询指定字段信息select 字段1,字段2,...from 表名;
  • 查询表中所有字段select * from 表名;
  • distinct用于取出重复记录select distinct 字段 from 表名;
  • 别名查询,使用的as关键字,as可以省略的select * from 表名 as 别名;

13.数据的条件查询

格式 :
    select 字段  from 表名  where 条件;   

where条件的种类如下:
    比较运算符   
        >  <  <=   >=   =  <>大于、小于、大于(小于)等于、不等于
        BETWEEN  ...AND...显示在某一区间的值(含头含尾)
        IN(set) 显示在in列表中的值,例:in(100,200)
        LIKE 通配符模糊查询,Like语句中有两个通配符:
            % 用来匹配多个字符
            _ 用来匹配一个字符。例first_name like ‘a_’;
        IS NULL 判断是否为空
            is null; 判断为空
            is not null; 判断不为空
    逻辑运算符   
        and多个条件同时成立
        or多个条件任一成立
        not不成立

14.排序查询

  • 使用格式:通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后

  • SELECT * FROM 表名 ORDER BY 字段ASC;

    • ASC 升序 (默认)

    • DESC 降序

15.聚合函数

  • count:统计指定列不为NULL的记录行数;
  • sum:计算指定列的数值和,如果指定列;
  • max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串类型不是数值类型,那么计算结果为0排0序运算;
  • min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
  • avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
  • 聚合函数会忽略空值

16.分组查询

  • 使用格式:分组查询是指使用group by字句对查询信息进行分组
  • 分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条件
  • having和where的区别
    • having是在分组后对数据进行过滤.
    • where是在分组前对数据进行过滤
    • having后面可以使用分组函数(统计函数)
    • where后面不可以使用分组函数

猜你喜欢

转载自blog.csdn.net/qq_34829447/article/details/82191106