Java学习笔记之MySQL数据库

这篇博客详细介绍了数据库的概念,包括关系型数据库MySQL的特点和NoSQL数据库如Redis、MongoDB的概述。接着,博主分享了数据库的使用,如启动/关闭服务,登录/退出,以及管理数据库的命令。此外,还详细探讨了如何在MySQL中创建、管理表,包括各种数据类型的介绍,以及表的查询和修改。最后,文章介绍了基本的查询操作,如SELECT语句、排序和模糊查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库的概念

  • 什么是数据库?

    用户储存数据,访问数据,操作数据的一种存储数据仓库,用户的各种数据被有组织的存放在数据库中。

  • 什么是关心性数据库

    MySQL,Oracle,SQLServers关系型数据库

    • 特点:

      • 存储方式

        采用表格的方式来存储数据,以行、列来存储,方便定位和查找

      • 存储结构

        按结构化的方式啦存储,例如:每个数据必须要有对应的字段,数据存入时要现有表再有字段,再有数据类型。一定是限定结构,再存储。

      • 查询方式

        采用结构化的查询(SQL语句),该查询标准适用于目前市面上所有主流的关系型数据库。

  • NoSQL数据库

    • Redis
    • MongoDB

数据库的使用

数据库的服务相关

  1. 数据库的开启与关闭

    以管理员身份启动命令行,net start MySQL的服务名称启动服务。

    关闭服务:net stop MySQL的服务名称

  2. 数据库的登录与访问

    登录到数据库命令行命令:mysql -hlocalhost -uroot -proot /mysql -h主机地址 -u用户名 -p密码(可在-p后 回车,再输入隐藏密码)前缀出现MySQL时登录成功

    退出:exit或quit
    数据库思维导图

数据库的访问与管理

数据库的命令

  1. 查看当前MySQL服务器上的所有数据库:show databases

  2. 创建数据库:create database; 数据库名称

  3. 修改数据库

    alter database 数据库名称 character set 字符集名称(一般使用utf8)

  4. 显示所有系统变量:show variables; 查看特定的系统变量 show variable like ‘查看的变量’

  5. 查看数据库的脚本:show create database 数据库名称;

  6. 查看正在使用的数据库:select database();

  7. 使用数据库:use 数据库名称; 主要用来切换数据库。

  8. 删除数据库:drop database 数据库名称;

****[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RXnjP80Y-1586164152805)(C:\Users\曾振宇\AppData\Roaming\Typora\typora-user-images\image-20200406111628586.png)]

表的创建与管理

常用的数据类型:

  • 数值:int\float\double
  • 字符型:char(定长)\varchar(变长)
  • 日期型:date\datetime\timestamp

建表的语句

  • 数据表的每一行成为一条记录(record),每一列成为一个字段(field)
  1. 创建数据表

    • 语法:

      create table 表名(

      ​ 列名称1 数据类型 约束,

      ​ 列名称2 数据类型 约束,

      ​ 列名称2 数据类型 约束,

      ​ ……

      }

    • 示例

      create table employees (
          -> empID int primary key ,
          -> ename varchar(50) ,
          -> sex char ,
          -> hiredate date
          -> );
      
    • 注意:

      • 列名之间用都好隔开。
      • 创建结束后用;分号结束

表的管理

  1. 查看表结构

    • desc 表名
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | empID    | int(11)     | NO   | PRI | NULL    |       |
    | ename    | varchar(50) | YES  |     | NULL    |       |
    | sex      | char(1)     | YES  |     | NULL    |       |
    | hiredate | date        | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    
  2. 查看数据库中所有的表:

    show tables;

  3. 查看表的定义结构\创建语句

    show create table 表名;

  4. 修改表的字符集

语法:alter table 表名 convert to character set 字符集;

  1. 修改表结构

    • 添加列

      • alter table 表名 add 列的名称 列的类型 列的约束
    • 修改列的数据类型

      alter table 表名 modify 列的名称 列的类型 列的约束

    • 修改列名

      alter table 表名 change 旧的名称 新的名称 新的数据类型

    • 重命名

      • rename table 旧表名 to 新的表名
    • 删除列

      • alter table 表名 drop 列名;
  2. 根据数据库中已有的表结构创建新表

    • 复制表结构
      • create table 新的表名 select * from 表名;
    • 复制部分表结构(复制结构和数据不复制约束)
      • create table 新的表名 select 列1,列2,…from 被复制的表名;
    • 只复制结构不复制数据
      • create table 新的表名 select 列1,列2,…from 被复制的表名 where 1=2(有其他条件会复制满足条件的数据例如sex = ‘男’);
  3. 对表中的约束管理

    • 主键约束

      primary key

    • 唯一约束

      unique 列的数据不能重复

      alter table 表名 add constraint 约束名 unique(字段名);

    • 非空约束

      not null

    • 外键约束
      主外键关联:表中的一个非主键是另一个表的主键。

      有外键约束的字段,不能自己修改只能从其他表的主键中读取。

      格式:alter table 从表 constraint 约束名 foreign key (从表列名)references 主表 (主键);

基本查询

  1. 查询语句的语法

    select字段1,字段2,字段3,…from 表名 where

  2. 查询指定的字段数据。

    1. 查询所有员工的工号和姓名。

      SELECT empID , ename FROM employees;

    2. 查询所有员工信息

      SELECT * FROM employees;

    3. as指定列的别名
      SELECT empID AS 工号,hiredate AS 入职日期 FROM employees;

    4. 排序用法

      排序用法:order by 通常用在排序上,一般在查询语句的最后边用来指定排序的字段,后面紧跟排序的字段
      示例:
      select * from employees order by hiredate;
      1、升序 ASC 默认的排序方法

      ​ 2、降序 DESC

    5. like模糊查询,一般针对含有指定关键字来进行查询,主要用在条件表达式后边。

      例如:查询所有姓李的员工的信息

      ​ select * from employees where ename = ‘张明’;//精确的匹配查询

      ​ select * from employees where ename like ‘_李%’// _ 表示单个字符 % 表示无限长度

DESC

  1. like模糊查询,一般针对含有指定关键字来进行查询,主要用在条件表达式后边。

    例如:查询所有姓李的员工的信息

    ​ select * from employees where ename = ‘张明’;//精确的匹配查询

    ​ select * from employees where ename like ‘_李%’// _ 表示单个字符 % 表示无限长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值