1数据库(Database:DB):按照一定的数据结构存储和管理数据的仓库
2.数据模型结构:层次模型、网状模型、关系模型
3.关系模型:将复杂的关系以简单的二元形式表示。以行和列的形式进行表示(表格)。行叫记录,列叫字段
4.数据分类:
结构化数据:可以通过统一的结构来进行描述的管理。
非结构化数据:通过同一的方式进行描述
半结构化数据:位于上述两者之间
5.数据库的分类:
关系型数据库:操作结构化数据
非关系型数据库:非结构化
6.数据库管理系统(DBMS:Database Management System):一套管理和操作数据库的软件
(a)关系型数据库管理系统(R:relationship RDSBMS)
Oracle:分布式关系型管理系统(大企业) 收费(按照cpu核数收费)
mysql:开源免费数据库,小,遵循GPL(开源软件许可证),支持千万级别
sqlserver:中型的关系型数库管理系统。Microsoft
DB2:IBM 针对中小型数据库管理系统
(b)非关系型数据库管理系统(Nosql:not only sql)
redis,mangodb,hbase,neo4j
mysqlMysql是一个关系型的数据库管理系统
Mysql是由Mysql ab公司设计的产品,后期被oracle收购
mysql内部采用分库分表的形式管理数据库:一个数据库管理系统中可以管理多个数据库,一个数据库中可以管理多张表
Mysql1.下载(略)
2.安装(略)
数据库管理系统软件的目录(DBMS安装目录):C:\Program Files
数据库连接目录:(其他编程语言连接数据库的jar包信息) connectorJ
客户端工具的目录: workbench
数据存放的目录 programData
注:
C:\ProgramData\MySQL\MySQL Server 5.7\
Data:存放数据信息,一个目录对应一个数据库。
frm文件存放标的结构信息
MYD文件存放数据信息
my.ini:mysql的配置文件
通过cmd 建立mysql连接:
(1)切换到mysql的dbms安装目录下的bin:C:\Program Files\MySQL\MySQL Server 5.7\bin下的mysql.exe
打开 cmd 执行 命令:cd C:\Program Files\MySQL\MySQL Server 5.7\bin
(2)登陆:命令:mysql -uroot -p,输入root用户密码
(3)开始使用
database 数据库的使用:
查看数据库:
mysql> show databases;
table 表的使用:
进入mysql数据库(切换数据库):
mysql> use mysql
查看数据库中的表:
mysql> show tables;
查看表里所有数据:
mysql> select * from user;
3.客户端工具
可以使用navicat
安装(略)
sql(结构化查询语言 structured query language)
数据库的标准化语言,实现对数据库的访问和操作
对大小不敏感
使用分号作为结束标志
sql分类:
DDL(Data definatition language):数据定义语言。对数据库对象(数据库,表,试图,索引等)结构操作:创建/修改/销毁(Create/alter/drop)
DML(Data Manitaption Language):数据操纵语言。增删改查(insert/delete/update/select)
DCL(Date Control Language):授权/取消授权(Grant/revoke)
TCL(Transaction Control Language):提交/回滚(commit/rollback)
DDL(数据定义语言)
对数据结构进行操作
数据库的创建和销毁
--创建一个数据库 bd1804
create database bd1804;
create database if NOT exists bd1804 ;
--销毁数据库(少用)
drop database if exists bd1804 ;
数据库表的创建
use database bd1804;
--创建表
--创建表结构时需要描述字段信息
create table student(
sid int,
sname varchar(20),
age int
);
修改表结构
--添加字段(追加)
alter table student add sex varchar(20);
--添加到首位
alter table student add cid int first;
--添加到指定位置
alter table student add birthday date after cid;
查看表结构
--查看表结构
desc student;
修改字段
--修改字段(名称,类型,长度,位置)(change,modify)
--修改名称
alter table student change age sage int;
alter table student change sname sname varchar(50);
alter table student modify sname varchar(20);
alter table student change sname sname varchar(20) after cid;
alter table student change sname sname varchar(20) first;
表名称修改
-- 表名称修改
rename table student to stu;
清空表(与delete的区别)
-- 清空表
truncate table stu;
删除字段
--删除字段
alter table student drop cid;
销毁表
drop table student;
mysql里的数据类型
整型数据:浮点数Float(m,n):m表示总长度,n表示小数位数
Double(m,n)
Decimal(m,n):16字节
字符串Char(n):定长字符串
Varchar(n):可变长字符(n可理解为最长的长度,n要小于65535)
Text:长文本
日期Date:年月日
Time:时分秒
Datetime:年月日时分秒 年的范围:1000 - 9999年
Timestamp:时间戳 年的范围:1970 - 2037年
其他类型Blob:二进制数据
Eunm(’male’,’femal’):枚举
set(’1’,’2’,’3’):集合
Json:json类型
注意
- 数据类型在各种数据库中有区别
实体完整性
域完整性
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |