Java教程

初探 --- 数据库

本文主要是介绍初探 --- 数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言:

数据库的笔记

文章目录

      • 一、什么是数据库
      • 二、数据库的分类
        • 2.1 关系型数据库(SQL)
        • 2.2 非关系型数据库(NoSQL)
      • 三、数据库管理系统
        • 3.1、MySQL简介
        • 3.2、MySQL安装
      • 四、数据库(SQL)的四大语言
        • 4.1 DDL(数据定义语言)
        • 4.2 DML(数据操纵语言)
        • 4.3 DCL(数据控制语言)
        • 4.4 DQL(数据查询语言)
      • 五、命令行连接数据库
        • 常用语句
      • 六、增删改查
      • 七、约束

一、什么是数据库

  • 数据库(DB,DataBase)
  • 概念:数据库,又称为数据管理系统
  • 作用:保存,并能安全管理数据(如:增删改查等),减少冗余

二、数据库的分类

2.1 关系型数据库(SQL)

  • 有这些:MySQL、Oracle、Sql Sever、DB2、SQLlite,它们统称为SQL
  • 通过表和表之间,行和列之间的关系进行数据的存储
  • 用来存储类似静态(不怎么变化)的信息。

思考:怎么来存储你自己的定位信息?—>NoSQL

2.2 非关系型数据库(NoSQL)

  • NoSQL?没数据库?(不是
  • 其实是No Only,不仅仅是SQL
  • 有这些:Redis、MongDB
  • 非关系数据库:对象存储,通过对象的自身属性来决定的信息。

三、数据库管理系统

  • 数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。(来自维基百科)
  • 这里我们学习MySQL,为什么选择它?

3.1、MySQL简介

为什么选择MySQL

  • 1、它是开放源码的关系数据库管理系统
  • 2、体积小、速度快、成本低,适合中小型网站
  • 官网:https://www.mysql.com/cn/
  • 这里用5.7版本(稳如老狗)

3.2、MySQL安装

这里不再赘述

四、数据库(SQL)的四大语言

4.1 DDL(数据定义语言)

数据定义语言:Data Definition Language

作用:
用来定义数据库的对象,如数据表、视图、索引等

creat、drop、alter、truncate

4.2 DML(数据操纵语言)

数据操纵语言:Data Manipulation Language

作用:
在数据库中数据进行插入、更新和删除等操作

insert、update、delete

4.3 DCL(数据控制语言)

数据控制语言:Data Control Language

作用:
设置用户权限和控制事务语句

grant,if…else,while,begin transaction

4.4 DQL(数据查询语言)

数据查询语言:Data Query Language

作用:
数据表记录的查询

由SELECT子句,FROM子句,WHERE子句组成的查询块

五、命令行连接数据库

以管理员身份打开cmd,cd /d /D:mysql:bin 切换到bin目录
mysqld -install 安装数据库服务
net start mysql --打开mysql服务
net stop mysql --关闭mysql服务
mysql -u root -p --连接数据库
update myql.user set authentication_string=password('***') where user='root' and Host = 'localhost'; -- 修改用户密码
flush privileges; -- 刷新权限

常用语句

所有命令后面不用加分号,所有sql语句结尾一定要加分号
--或者# 单行注释
/**/ 多行注释
show databases; -- 查看所有的数据库
use XXX; -- 选中XXX数据库
show tables; -- 查看某数据库中的所有表
select * from 表名; --查看表中的记录
mysql> *** 切换到***数据库

show tables; -- 查看数据库中所有的表
describe[desc] *** -- 查看***表中所有的信息

create database ***; --创建一个叫***的数据库

exit -- 退出连接

六、增删改查

mysql 常用数据类型有哪些?

MySQL支持多种类型,大致可以分为三类:

-- 数值

-- 日期/时间

-- 字符串(字符)类型

数据记录常见操作:
-- 增加
insert
-- 删除
delete
-- 修改
update
-- 查询
select

-- 创建表create table 表名(字段 + 数据类型 + [约束],...);
CREATE TABLE pet(
    NAME VARCHAR(20),
    OWNER VARCHAR(20),
    species VARCHAR(20),
    sex CHAR(1),
    birth DATE,
    death DATE
)DEFAULT CHARSET = utf8;


-- 查看表是否创建成功
SHOW TABLES;

-- 查看表的结构
DESC pet;

-- 查看表中的数据
SELECT * FROM pet;

-- 往数据表中添加数据记录

INSERT INTO pet
VALUES ('lei','bing','daoge','f','2001-02-12',NULL);

-- 删除数据

DELETE FROM pet 
WHERE NAME = 'lei';

-- 修改数据

UPDATE pet SET NAME = 'leidaoge' 
WHERE OWNER = 'bing';

七、约束

mysql建表约束

-- 主键约束
-- 自增约束
-- 外键约束
-- 唯一约束
-- 非空约束
-- 默认约束

-- 主键约束
primary key
唯一确定,不重复且不为空

-- 修改表结构,添加主键
-- 语法: alter table 表名 add primary key(字段名);

ALTER TABLE pet ADD PRIMARY KEY(NAME);

-- 删除约束
-- 语法: alter table 表名 drop primary key(字段名);

ALTER TABLE pet DROP PRIMARY KEY(NAME);

-- 使用modify修改字段,添加约束
-- 语法:alter table 表明 modify 字段名 + 数据类型 + 约束
ALTER TABLE pet MODIFY id INT PRIMARY KEY;
-- 联合主键
多个主
键,联合唯一

-- 自增约束
auto_increment

-- 外键约束
foreign key(字段X) references 表名X(字段X) 
涉及两个表,主表和副表

1、主表中没有数据,在副表中无法被使用
2、记录被副表引用,则不可以被删除

-- 唯一、非空约束
主键约束就是唯一+非空约束

-- 默认约束
default XXX
当我们插入字段值的时候,没有传值则使用默认值

-- 数据库的三大设计范式
1、第一范式 
拆字段
2、第二范式
1+拆表
3、第三范式
2+不能有传递依赖

这篇关于初探 --- 数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!