初始MySQL
JavaEE:企业级Java开发 Web
前端(页面:展示,数据)
后台(连接点:连接数据库JDBC,连接前端(控制,控制视图跳转,和给前端传递数据))
数据库(存数据,Txt,Excel,Word)
只会写代码,学好数据库,基本混饭吃!
操作系统,数据结构与算法!当一个不错的程序员!
离散数学,数字电路,体系结构,编译原理。+实战经验,高级程序员~优秀的程序员
为什么学习数据库
数据库是所有软件体系最核心的存在 DBA
什么是数据库
数据库(DB,DataBase)
概念:数据仓库,软件,安装在操作系统(window,linux,mac...)! SQL,可以存储大量的数据。500万!
所用:存数据,管理数据 Exccel
数据库分类
关系型数据:(SQL)
MySQL,Oracle,Sql Server,DB2,SQLlite
通过表和之间,行和列之间的关系进行数据的存储,学员信息表,考勤表...
非关系型数据库:(NoSQl) Not Only
Redis,MongDB
非关心型数据库,对象存储,通过对象的自身的属性来决定。
DBMS(数据库管理系统)
数据库的管理软件,科学有效的管理我们的数据。维护和获取数据;
MySQL,数据库管理系统,
MySQL简介
MySQL是一个关系型数据库管理系统
前世:瑞典 MySQL AB 公司
今生:属于 Oracle 旗下产品
MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
开源的数据库软件~
体积小、速度快、总体拥有成本低,招人成本比较低,所有人必须会~
中小型网站,或者大型网站,集群!
官网:MySQL
安装建议:
1.尽量不要使用 exe,注册表
2.尽可能使用压缩包安装~
操作数据库
操作数据库>操作数据库中的表>操作数据库中表的数据
mysql数据库不区分大小写
操作数据库(了解)
1.创建数据库
create database [if not exists] westos
2.删除数据库
drop database [if exists] westos
3.使用数据库
-- tab 键上面 如果表名或者字段名是一个特俗字符,
-- 就需要带``
use `school`
4.查看数据库
show databases --查看所有数据库
对比:SQLyog的可视化操作
数据库的列类型
数值
类型 | 解释 | 字节 |
tinyint | 十分小的数据 | 1 |
smallint | 较小的数据 | 2 |
mediumint | 中等大小的数据 | 3 |
int | 标准整数(常用的) | 4 |
bigint | 较大的数据 | 8 |
float | 浮点数 | 4 |
double | 浮点数 | 8(精度问题) |
decimal | 字符串形式的浮点数(金融计算的时候,一般使用) |
字符串
时间日期
nll
字符串
类型 | 解释 |
char | 字符串固定大小的0~255 |
varchar | 可变字符串0~65535(常用的变量 String) |
tinytext | 微型文本 2^8-1 |
text | 文本串 2^16-1 (保存大文本) |
时间日期
对应:java.util.Date
类型 | 解释 |
date | YYYY-MM-DD 日期 |
time | HH:mm:ss |
datetime | YYYY-MM-DD HH:mm:ss (最常用的时间格式) |
timestamp | 时间戳,1970.1.1到现在的毫秒数! 也较为常用 |
year | 年份表示 |
null
类型 | 解释 |
null | 没有值,未知。注意:不要使用NULL进行运算,结果为NULL |
数据库的字段属性
Unsigned:
- 无符号的整数
- 声明该列不能为负数
zreofill:
- 0填充的
- 不足的位数,使用0来填充,int(3),5---005
自增:
- 通常理解为自增,自动在上一条记录的基础上+1(默认)
- 通车用来设计唯一的主键~index,必须是整数类型
- 可可以自定义设计主键自增的起始值和步长
非空:NULL not null
- 假设设置为not null,如果不给赋值就会报错
- NULL,如果不填制,默认就是NULL
默认:
- 设置默认值
- sex,默认值为男,如果不指定就默认为男
创建数据库表
-- 注意点,使用英文(),表的名称和字段尽量使用``括起来
-- auto_increment自增
-- 字符串使用单引号括起来!
-- 所有语句后面加 , (英文的),最后一个不用加
-- primary key 主键,一般一个表只有一个唯一的主键
create table if not exists `student`(
`id` int(4) not null auto_increment comment '学号',
`name` varchar(30) not null default '匿名' comment '姓名',
`pwd` varchar(20) not null default '123456' comment '密码',
`sex` varchar(2) not null default '女' comment '性别',
`birthday` datetime default null comment '出生日期',
`address` varchar(100) default null comment '家庭住址',
`email` varchar(50) default null comment '邮箱',
primary key (`id`)
)engine=innodb default charset=utf8
格式
create table [if not exists] `表明`(
`字段名` 列类型 [属性] [索引] [注释],
`字段名` 列类型 [属性] [索引] [注释],
...
`字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]
努力学习中~