数据库概述

数据库概述

为什么学习数据库:
  • 实现数据持久化到本地;

  • 使用完整的管理系统统一管理,可以实现结构化查询,方便管理

数据库:

为了方便数据的存储和管理,它将数据按照特定的规则存储在磁盘上,就是一个存储数据的仓库。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。

数据库的相关概念

(1)DB:数据库(DataBase)

​ 存储数据的容器,它保存了一系列有组织的数据。

(2)DBMS:数据库管理系统(DataBase Management System)

​ 又称为数据库软件或数据库产品,用于创建或管理DB。

(3)SQL:结构化查询语言(Structure Query Language)

​ 用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据 库软件通用的语言。

根据不同的存储类型可以分为:

(1)关系型数据库

​ 关系型数据库管理系统称为RDBMS,R指Relation

Oracle:功能强大,收费.

MySQL 快捷、可靠 开源、免费

SQL Server(微软): 只能安装在Windows操作系统

DB2 (IBM):适合处理海量数据,收费.

(2)非关系型数据库

MongdoDB

Redis

数据库存储数据的特点

(1)将数据放到表中,表再放到库中

(2)一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。

(3)表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的设计。

(4)表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列类似java中的”属性”

(5)表中的数据是按行存储的,每一行类似于Java中的“对象”。

MySQL数据库

  1. MySQL是一个关系型数据库管理系统**,**由瑞典MySQLAB 公司开发,目前属于Oracle旗下产品。MySQL
    是流行的关系型数据库管理系统。

(1)MySql是一种关系数据库管理系统。

(2)MySql软件是一种开放源码软件,你可以修改源码来开发自己的 Mysql 系统。

(3)MySql数据库服务器具有快速、可靠和易于使用的特点。

(4)MySql使用标准的sql语言,并且支持多种操作系统,支持多种语言.

(5)mysql商业版与社区版

(6)MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用

(7)MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用

MySQL的常用命令

(1)查看当前所有的数据库:show databases;

(2)选择指定的库:use 库名

(3)查看当前的所有表:show tables;

(4)查看其他库的所有表:show tables from 库名;

MySQL语法规范

(1)不区分大小写,建议关键字大写,表名、列名小写

(2)每句话结束要使用“; ”;

注释

(1)单行注释:#注释文字

(2)单行注释:-- 注释文字(要有空格)

(3)多行注释:/* 注释文字 */

sql

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统.

优点:

(1)不是某个特定数据库供应商专有的语言,几乎所有的DBMS都支持SQL

(2)简单易学

(3)实际上强有力的语言,灵活使用可以进行非常复杂和高级的数据库操作

DDL

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

(1)创建数据库并设置编码格式

​ create database [if not exists] 数据库名 [ charset utf8]

(2)删除数据库

drop database数据库名 / [IF EXISTS数据库名];

(3)修改字符集

​ alter database数据库名 CHARSET gbk;

数据库表的基本概念

(1)数据表

​ 表(table)是数据存储的最常见和最简单的形式,是构成关系型数据库的基本元素。表的最简单形式是由行和列组成,分别都包含着数据。 每个表都有一个表头和表体,表头定义表名和列名 .表中的行被看作是文件中的记录,表中的列被看作是这些记录的字段。

(2)记录

​ 记录也被称为一行数据,是表里的一行。在关系型数据库的表里,一行数据是指一条完整的记录。

(3)字段

​ 字段是表里的一列,用于保存每条记录的特定信息。如客户订单表的字段包括“订单ID”、“姓名”、“客户ID”、“职务”、“上级”、“地区”、“运货商”、“国家”等。数据表的一列包含了特定字段的全部信息。

设 计 表

对于具体的某一个表,在创建之前,需要确定表的下列特征:

(1)表名(哪类信息)

(2)表中的字段

(3)字段的数据类型和长度

  • char(n) 长度为n的定长字符串 5 1

  • varchar(n) 最大长度为n的可变长字符串 10

  • date 日期 包含年月日

  • datetime 年月日 时分秒

BLOB

是一个二进制大对象,可以容纳可变数量的数据,用于存储图片视频信息.

有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

TEXT列字符字符串

有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。

它们(TEXT和BLOB同)的长度:

​ Tiny:最大长度255个字符(2^8-1)

​ BLOB或TEXT:最大长度65535(2^16-1)

​ Medium:最大长度16777215(2^24-1)

​ LongText 最大长度4294967295(2^32-1)

(4)哪些约束

主键: 在一张表中代表唯一的一条记录,不能为空,不能重复

约束:

  • PRIMARY KEY 设置主键约束

  • NOT NULL 不能为空约束

  • UNIQUE 唯一性约束

检查约束 check 设置条件

外键约束

主键自动增长: AUTO_INCREMENT

默认值: DEFAULT default_value

字段注释: comment ‘注释’

表操作

(1)创建表

CREATE TABLE t_dent(
		stu_num CHAR(3),
		stu_name VARCHAR(3),
		stu_sex CHAR(1),
		stu_birthday  DATE,
		stu_score SMALLINT,
		stu_reg_time DATETIME
		)

(2)删除表

drop table [ if exits] 表名

drop table t_student 删除表结构,数据也会不存在

(3)修改表名

alter table 旧表名 to 新表名

(4)复制表结构

create table 新表名 like 要复制的表名

(5)修改表结构

添加主键约束

  • ALTER TABLE 表名 ADD PRIMARY KEY(列名)

  • ALTER TABLE 表名 DROP PRIMARY KEY

设置自动增长

  • ALTER TABLE 表名 MODIFY 列名 类型 AUTO_INCREMENT;

  • ALTER TABLE users MODIFY 列名 类型 ;

设置不能为空

  • ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL;

  • ALTER TABLE 表名 CHANGE COLUMN 列名 列名 类型 NULL;

添加唯一约束

  • ALTER TABLE 表名 ADD UNIQUE(列名)

  • ALTER TABLE 表名 DROP INDEX 索引名;

添加检查约束

  • ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(条件)

  • ALTER TABLE 表名 DROP CHECK 约束名;

    表名 MODIFY 列名 类型 NOT NULL;

  • ALTER TABLE 表名 CHANGE COLUMN 列名 列名 类型 NULL;

添加唯一约束

  • ALTER TABLE 表名 ADD UNIQUE(列名)

  • ALTER TABLE 表名 DROP INDEX 索引名;

添加检查约束

  • ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(条件)

  • ALTER TABLE 表名 DROP CHECK 约束名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值