1.数据库入门

数据库基本架构:在这里插入图片描述
1.常见的数据库
学习数据库的需求分析:使用CMD命令来创建一个数据库,并对数据库中的一张分类表进行增删改查的操作。

数据库概述:
什么是数据库? 简而言之,数据库就是一个文件系统,只不过我们需要通过命令来(SQL)来操作这个文件系统。
数据库的作用: 存储数据,是数据的仓库,带有访问权限限制,不同的人有不同的权限操作。
为什么要学习数据库:Java EE 操作的都是后台数据,取出后台数据后进行封装,然后交给前端去展现。
在这里插入图片描述
关系型数据库:
MySQL:之前是适用于中小型企业的开源免费数据库,由于sun公司收购了MySQL,sun公司被Oracle收购之后,又开始收费了。
mariadb:由MySQL创始人搞出来的,是MySQL开源版本的一个分支,所有命令基本上一样。
Oracle:甲骨文公司(收购了sun,java),为收费软件,适用于大型商业网站。
db2:IBM公司所有,在软硬件和服务器架构提供了新的解决方案,银行系统大多数使用db2。
SQLserver:属于windows,政府网站大多采用这种,图形化工具做得好。

非关系型数据库: key :value形式
mongodb
redis

2.E-R关系图
E:Entity,代表实体;
R:Relationship ,代表关系。

关系型数据库:主要描述实体与实体之间的关系,实体表示确实存在的事务,比如学生和老师、员工和部门。
画E-R关系图时
  实体:用方框;
  属性:即实体的属性,用椭圆表示;
  关系:用菱形。
举例如下
在这里插入图片描述

3.数据库服务器
MYSQL数据库:是一种数据库管理软件;
服务器:相当于一台电脑,这台电脑安装了服务器相关的软件,这些软件会监听不同的端口号,根据用户访问的端口号来提供相应的服务。
MYSQL数据库服务器:对于MYSQL数据库服务器,就是安装了MYSQL数据库管理软件的服务器;

:通常,一个应用对应于一个数据库,比如:商城应用对应于商城数据库、相亲应用对应于相亲数据库。

4.MYSQL中的SQL分类
SQL:Structure Query Language(结构化查询语言),主要分为以下几类:
DDL(数据定义语言):定义数据库、数据表的结构,有:create(创建)、drop(删除)、alter(修改);
DML(数据操纵语言):主要是用来操作数据,有:insert(插入)、update(修改)、delete(删除);
DCL(数据控制语言):定义访问权限,取消访问权限,安全设置 grant;
DQL(数据查询语言):selec(查询)、from子句、where子句。

5.数据库的基本操作
1.数据库的创建
首先,要登录数据库服务器:mysql -uroot -p666666 ,这里666666为数据库服务器密码。

创建数据库:有几种格式,如下,
格式:create database 数据库名字:

create database firstdata_1;

格式:create database 数据库名字 character set 字符集;

create database firstdata_2 character set utf8;

格式:create database 数据库名字 character set 字符集 collate 校对规则;

create database firstdata_3 character set utf8 collate utf8_bin;

2.数据库的查看和修改
查看所有数据库

show databases;

在这里插入图片描述
查看创建的单个数据库

show create database firstdata_03;

在这里插入图片描述
修改数据库:以修改字符集为例

alter database firstdata_3 character set gbk;

在这里插入图片描述
3.数据库的删除
格式:drop database 数据库名字:

drop database firstdata;

注意:这里有三个数据库不能删除,分别是:information_schema、mysql、performance_schema。另外,test数据库可以删除。

4.其他数据库操作命令
切换数据库(选中数据库)
格式:use 数据库名字;

use firstdata_1;

查看一下当前正在使用的数据库:
格式:select database();
在这里插入图片描述

5.创建表
创建表前先选中某一个数据库:use 数据库名字;
格式:

create database 数据库名字;
create table 表名(
     列名1  列的类型(长度)  约束,
     列名2  列的类型(长度)  约束
);

列的类型:对于Java与SQL中列的类型,有如下比较,
在这里插入图片描述
其中SQL中的char(10)表示有10个大小的字符,长度固定,若只存入5个字符,则另外5个为空格;而对于varchar(10),为长度可变,若存入了5个字符,不会有空格。

列的约束
  主键约束:primary key
  唯一约束:unique
  非空约束:not null
主键约束和唯一约束的区别:
  主键约束:默认不能为空,而且值唯一。外键指向另外一张表的主键,并且在一张表中,主键只能有一个;
  唯一约束:列里面的内容必须是唯一的,不能出现重复的情况,可以为空。唯一约束不可以作为其他表的外键,并且可以有多个唯一约束。

创建表的过程
1.分析实体,比如学生;
2.看看学生包含哪些属性:学生ID、姓名、性别、年龄。

举例

use  firstdata;
create table student1(
     sid int primary key,
     sanme varchar(31),
     sex char,
     age int
);

6.查看表
查看表前先选中某一个数据库:use 数据库名字;
查看所有表:show tables;
在这里插入图片描述
查看表的创建过程:show create table student;
在这里插入图片描述
查看表结构:desc student;
在这里插入图片描述

7.修改表
添加列(add):
格式:alter table 表名 add 列名 列的类型 列的约束

alter table student add chengji int not null;

修改列(modify):

alter table student modify sex varchar(2);

修改列名(change):

alter table student change sex gender varchar(2);

删除列(drop):

alter table student drop chengji;

以下两个不常用:
修改表名(rename)

rename table student to abc;

修改表的字符集

alter table abc character set gbk;

删除表

drop table abc;
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值