数据库学习笔记1

为什么学习数据库

①实现数据持久化到本地(写入磁盘、硬盘中)
②使用完整的系统统一管理

数据库概述

数据库(DataBase)为了方便数据的存储管理。它按照特定的规则将数据存储在磁盘上,通过数据库管理系统,可以高效的管理存储在数据库中的数据。

相关概念

DB:数据库(DataBase)存储数据的容器,保存了一系列有组织的数据。
DBMS:数据库管理系统(DataBase Management System)又称数据库软件或数据库产品,用于创建或管理DB。

按照存储结构分类

关系型数据库:RDBMS(R指Relation)基本单位是表,表与表之间存在关系。
Oracle 功能强大、收费
MySQL 快捷、开源、免费
SQL Server(微软) 只可以在windows系统运行
DB2(IBM) 处理海量数据,例如电信、收费
非关系型数据库:以 key:value 来存储数据。
MongdoDB
Redis

MySQL数据库

MySQL是一个关系型数据库管理系统,属于Oracle旗下产品,是当下流行的关系型数据库管理系统。开放源代码,具有快速、可靠和易于使用的优点。

安装与配置

1.安装安装包并解压在英文路径下。
2.配置MySQL环境变量:将bin目录路径新建在系统环境变量path中。
3.MySQL初始化:
以管理员身份运行命令提示符cmd;
cd至安装的bin目录路径中;
输入命令mysqld --initialize-insecure(初始化数据库,并设置默认root密码为空),执行后会在MySQL安装目录生成一个data目录。
4.为Windows系统安装MySQL服务:
输入命令mysqld install(为Windows系统安装MySQL服务,默认服务名为:mysql)。
5.启动MySQL服务:
输入命令net start mysql(启动MySQL服务,注意此时的“mysql”表示服务名,到此mysql8安装完成);
删除服务命令sc delete mysql(卸载时使用)。
6.为默认root账号设置密码:
输入命令ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘密码
刷新指令FLUSH PRIVILEGES(刷新权限)。
7.连接MySQL:
登录命令mysql -uroot -p密码
退出命令exit

安装可视化客户端工具

安装包安装SQLyog,运行并输入密码进行连接。

SQL

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL优点:不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL;简单易学,灵活使用可以进行非常复杂和高级的数据库操作。
分为DDL、DML、DQL三种。

DDL

数据(结构)定义语言DDL(Data Definition Language),是用于创建修改数据库表结构的语言。
常用的语句:create ,alter,drop,rename.

创建数据库并设置编码格式:

CREATE DATABASE IF NOT EXISTS 数据库名 CHARSET 编码格式

删除数据库:

DROP DATABASE 数据库名

在MySQL中数据库名不允许更改!

修改字符集:

ALTER DATABASE 数据库名 CHARSET 编码格式
数据库存储数据的特点

● 将数据放到表中,表再放到库中。
● 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
● 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的设计。
● 表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列类似java中的”属性”。
● 表中的数据是按行存储的,每一行类似于Java中的“对象”。

数据库表的基本概念

1、数据表
表(table)是数据存储的最常见和最简单的形式,是构成关系型数据库的基本元素。
表的最简单形式是由行和列组成,分别都包含着数据。 每个表都有一个表头和表体,表头定义表名和列名 。表中的行被看作是文件中的记录,表中的列被看作是这些记录的字段。
2、字段
字段是表里的一列,用于保存每条记录的特定信息。如客户订单表的字段包括“订单ID”、“姓名”、“客户ID”、“职务”、“上级”、“地区”、“运货商”、“国家”等。
数据表的一列包含了特定字段的全部信息。
3、记录
记录也被称为一行数据,是表里的一行。在关系型数据库的表里,一行数据是指一条完整的记录。

设计表

对于具体的某一个表,在创建之前,需要确定表的下列特征:
● 表名(表信息)
● 表中的字段
● 字段的数据类型和长度
● 哪些约束(字段的特殊规则)

字段的数据类型

char(n) 长度为n的定长字符串
varchar(n) 最大长度为n的可变长字符串
date 日期,包含年月日
datetime 年月日 时分秒
在这里插入图片描述
在这里插入图片描述
如身高1.82米,DOUBLE(3,2)

TEXT列字符字符串,有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。
它的长度:
TINYTEXT:最大长度255个字符(2^8-1)
TEXT:最大长度65535(2^16-1)
MEDIUMTEXT:最大长度16777215(2^24-1)
LONGTEXT最大长度4294967295(2^32-1)

主键

在一张表中代表唯一的一条记录,不能为空,不能重复。主键可以设置自增,但其数据类型必须是整数型

设置主键:

PRIMARY KEY

使主键自增:

AUTO_INCREMENT
约束

NOT NULL 不能为空约束
UNIQUE 唯一性约束
CHECK(条件) 检查约束 设置条件
外键约束

字段注释

comment ‘注释’

创建表语法(具体实例):

CREATE TABLE teammate(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '编号',
NAME VARCHAR(10) NOT NULL COMMENT '名字',
birthday DATE NOT NULL COMMENT '生日',
height DOUBLE(3,2) CHECK(height<3) NOT NULL COMMENT '身高/m',
weight INT CHECK(weight<200) NOT NULL COMMENT '体重/kg',
nbaposition CHAR(4) NOT NULL COMMENT '位置' 
)

删除表:

DROP TABLE 表名

修改表名

RENAME TABLE 旧表名 TO 新表名

复制表结构

CREATE TABLE 新表名 LIKE 被复制表名

DML

数据操纵语言DML(Data Manipulation Language)
常用语句: insert,delete,update.

插入数据

方式1: INSERT INTO 表名(列1,列2……,列n) VALUE(值1,值2……,值n)
方式2: INSERT INTO 表名 SET 列名1=值1,…列名n=值n
方式3: INSERT INTO 表名(列1,列2……,列n) VALUES(值1,值2……,值n),(值1,值2……, 值n)…
方式4:INSERT INTO 表名(列1,列2……,列n) 查询语句(查询的列数与插入列数匹配)

INSERT INTO team (NAME,address) VALUE ('湖人','洛杉矶')
INSERT INTO team SET NAME = '火箭',address = '休斯顿'
INSERT INTO team (NAME,address) VALUES ('凯尔特人','波士顿'),('骑士','克利夫兰'),('马刺','圣安东尼奥'),('魔术','奥兰多')

方式4具体实例:

INSERT INTO team1 (NAME,address) SELECT NAME,address FROM team2
修改数据

UPDATE 表名 SET 列名 = ‘新值’WHERE 条件

UPDATE team SET address = '加利福尼亚州洛杉矶市' WHERE id = 1
删除数据

DELETE FROM 表名 WHERE 条件

DELETE FROM team WHERE id = 5

TRUNCATE TABLE 表名——清空整张表(此为DDL语句)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值