初识数据库---MySQL数据库

什么是数据库?
可以从字面的意思简单理解,及时存放数据的仓库。
数据分类:
1、RDBMS:关系数据库
2、NoSql:非关系数据库
关系数据库介绍:
存放有持久性的,完整的,有效的,结果性的数据;
构成:Sever(服务器)和Client(客户端)
其中服务器中有系统库和自定义库,
系统库包含了规则,权限,角色,系统函数,MySQL等等
自定义库:
库>表/视图>列
表对象:自定义函数,存储过程,触发器
表优化:索引,表分区
非关系数据库的优点是性能好
其中:
Redis 相当于一个大的HashMap,,其中有键值对,优点速度快
kafka是MQ(消息列队)作用:缓存削峰
habase是列式数据库 优点:吞吐量大,宽表
mangodb是文件式数据库

数据库的优点
实体(行)完整性:确保每行数据的唯一性
域(列)完整性:
引用完整性

实体完整性
主键(primary key) 有单列主键和组合主键
唯一键(unique key)单列唯一
自增列 auto_increment
主键和唯一键的区别;
1、主键不能为空,唯一键可以为空,但是只能有一个为空
2、主键下面有索引,唯一键下面有唯一索引。前一个是物理索引,后一个是逻辑索引
域(列)完整性
数据类型(长度)

javaMySQL
char/Stringchar(n)【定长n<=255】/varchar(n)【不定长(最长为n<=65533)】/mediumtext【最大为16M】/kongtext【最大为4G】
bytetinynit(n<=4)(范围是-128~127)/ unsigned tinyint 【范围是0~255】
shortsmalint(n<=6)
intint(n<=11)
long/Biglntegerbigint(n<=20)
float/doublefloat/double
BiglnDecimaldicemal(m,n)/unmeric(m,n) m是总长度,n是精度,m<=38
boolanbit

上面是java和MySQL中的基本类型的对照
默认值 default(VALUE)
非空 not null

引用(关系)完整性

下面数初步应用MySQL
在环境都配置好了之后
下面进行MySQL的对象级操作

//在下面代码中就可以写,可以不写的内容就写在[]中
#查看数据库
show databases;
show databases like '%CONTENT%';
#上面有两种查看数据库的方法,下面那种是查看指定数据库  

#删除数据库
drop database [if exists] DATABASE_NAME;
#上面的意思是,[如果存在]就删除数据库

#创建数据库
create database [if not exists] DATABASE_NAME;
#如果不存在就创建数据库

#进入数据库
use DATABASE_NAME;

#创建数据表
create table TABLE_NAME(
	COL_NAME COL_DATA_TYPES[(length)] CONSTRATINT ,  #表名称,表类型
	...
);

#查看数据表
show tables [like '%TABKE_NAME%'];

#删除数据表
drop tables;

下面是一个简单的实例,分别对应上面的操作

#[如果不存在则]创建数据库
create database if not exists schoolkb12;
#查看数据库
show databasess like '%schoolkb12%';
#[如果存在则]删除数据库
#进入数据库
use schoolkb12;
#创建数据表(主表)
create table classinfo(
	calssId in auto_increment primary key,
	ckassName varchar(5) not null
);

#创建学生表(从表)
create table sudentinfo(
	stuId int(4) zerofill auto_increment primary key,
	stuName varchar(10) not null,
	stuAge tinyint unsigned not null,
	stuGender char(1) not null default '男',
	mobile varchar(20) not null unique key,
	tition decimal(7,2),
	fkClassId int not null,
	constraint fk_student_class_id foreign key (fkClassId) references classsinfp(classId)
);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值