数据库简介--01

数据库概述

什么是数据库?

所谓的数据库就是指存储和管理数据的仓库

数据库有哪些分类?

早期: 层次式数据库、网络型数据库
现在:关系型数据库、非关系型数据库

在这里插入图片描述

有很多数据库产品,分为两大阵营

1)关系型数据库:关心对象的关联关系,非常紧密
Oracle(千万)、Mysql(百万)(MariaDB)、SqlServer(数十万)

2)非关系型数据库:关心对象松散结构,不怎么紧密
redis分布式内存缓存、mongodb(亿,文件)、es/solr(亿,全文检索)、

大数据数据库仓库、hbase(亿,大数据,视频,音频,图片,数据分析) Hive

区别

关系型数据库,它的设计特点就在于数据之间紧密联系
举例:父子关系,夫妻关系,师生关系

非关系型数据库,它的设计特点在于数据之间关系不那么紧密
举例:中美,视频,音频,图片

发展趋势

关系型数据库有他的优点,这些优点还能在市场存活,
活的不滋润,市场在逐渐萎缩,被非关系型数据库替代
将来它们一起来为业务系统服务

结论:关系型和非关系型谁也代替不了谁,它们共同为我们的项目服务
京淘电商:大型项目结构:mysql+redis+es。。。

关系型数据库:

底层以二维表的形式保存数据的库就是关系型数据库

关系型数据库mysql
数据库是保存数据地方。
创建这个库 database
创建表 table
表的列 column、field
字段类型 datatype

通过一个二维表的形式就把日常生活中的数据保存起来。

在这里插入图片描述

常见的关系型数据库有哪些?

  • Oracle:甲骨文公司提供,收费,适用于一些大型或者超大型的项目中,在java中的使用占比非常高

  • mysql:瑞典MySQLAB公司提供,免费开源,适用于一些小型或者中型的项目中,在Java中的使用占比较高(小巧轻量)
    mariadb其实就是MySQL的一个分支,用法和MySQL完全一样。

  • Sql Server:微软提供,收费,适用于一些中型或大型的项目中,在java中的使用占比不高(.NET中使用的较多)

  • DB2:IBM公司提供,收费,在一些银行、金融等行业中使用较多。在java中的使用占比也不高。

  • Sqlite:迷你数据库,嵌入式设备中(安卓、苹果手机、pad)

数据库相关概念

1、什么是数据库服务器

数据库服务器就是一个软件(比如mysql软件)将数据库软件安装在电脑上,当前电脑就是一个数据库服务器。就可以对外提供存取数据的服务

在一个数据库服务器中可以创建多个数据库(dataBases),每一个数据库都是一个单独的仓库。
2、什么是数据库
数据库就是存储和管理数据的仓库,通常情况下,一个网站的中的所有数据会存放在一个数据库中。例如:
在这里插入图片描述
3、什么是表

一个数据库中可以创建多张表,每张表用于存储一类信息(数据库),例如:
在这里插入图片描述
4、什么表记录·

一张表中可以包含多行表记录,每一行表记录用于存储某一个具体的数据
在这里插入图片描述

什么是SQL语言?

SQL是一们用于操作关系型数据库的通用的语言(使用SQL可以操作所有的关系型数据库)

使用SQL可以操作数据库、表、表记录

(1)创建数据库、删除数据库、修改数据库、查询数据库

(2)创建表、删除表、修改表、查询表

(3)新增表记录、删除表记录、修改表记录、查询表记录

使用SQL也可以操作存储过程/视图/索引等。

提示:SQL是一个标准通用的操作关系型数据库的语言(普通话),每个数据库厂商为了增强自己数据库的功能,都提供了支持自己数据库的语言,称之为数据库的方言。方言不通用!

连接mysql服务器

1、连接mysql服务器:
在这里插入图片描述

mysql -uroot -proot
mysql -uroot -proot -h127.0.0.1 -P3306    //127.0.0.1是服务器主机名或ip地址,可以省略的,默认连接本机 默认连接3306端口;
mysql --default-character-set=gbk -uroot -proot
set names gbk;

在这里插入图片描述

数据库层基础语法

show databases; 查看当前数据库服务器中的所有库
create database mydb1 charset utf8; 创建mydb1库
create database if not exists mydb1 charset utf8;

select database(); 查看已进入的库
show create database mydb1; 查看建库时的语句(并验证数据库库使用的编码)

use mydb1; 进入某一数据库
show tables; 查看当前库中的所有表

drop database mydb1; – 删除mydb1库
drop database if exists mydb1;

use mydb1; 进入mydb1库
drop table if exists stu; 删除stu学生表(如果存在)

创建表

在这里插入图片描述
创建一张表 tb_item
field name 字段名(英文)
datatype 数据类型
PK primary key主键
Not Null 非空
Auto increment 自增(+1)
Comment 备注(中文)

create table stu(            创建stu学生表   
	id int primary key,     // 列名 数据类型
	name varchar(20),
	gender varchar(10),
	birthday date,
	score double
	
);

desc stu; .查看stu学生表结构

帮助语法 ?

在这里插入图片描述

SQlyog 或者 navicat 创建表

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

create table
CREATE TABLE `tb_item` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `title` varchar(100) DEFAULT NULL,
   `sell_piont` varchar(200) DEFAULT NULL,
   `price` decimal(8,2) DEFAULT NULL,
   `num` int(11) DEFAULT NULL,
   `barcode` varchar(20) DEFAULT NULL,
   `image` varchar(1000) DEFAULT NULL,
   `cid` int(11) DEFAULT NULL,
   `status` tinyint(1) DEFAULT NULL,
   `created` datetime DEFAULT NULL,
   `updated` datetime DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

猜你喜欢

转载自blog.csdn.net/weixin_48052161/article/details/108895807