一、数据库的理论
1、由来
Java可以通过IO流技术,将数据保存在磁盘的文件中,还可以从磁盘上读取数据。但是保存的数据非常的凌乱,并且IO流非常的慢。
比如数据还是保存在磁盘上,但是我们可以做一个软件,来操作这样一些文件,达到读取数据,以及保存数据的目的—-数据库
数据库本质上还是文件存储。既然是文件存储,必定需要IO流技术。
2.数据库分类
- 关系型数据库(sql) — 通过行和列来表达事物关系的数据库 - Oracle: 是Oracle公司的数据库产品 - Mysql: 最早属于瑞典的MysqlAB公司的,后被Sun公司收购,Sun在2009年4月20号被Oracle收购。 - SQLServer: 微软旗下的数据库产品 C# .net - Access: 微软旗下的数据库产品( Word,Excel,PPT) - DB2: IBM公司旗下的数据库产品
- 非关系型数据库(nosql) - HBase是一个分布式的、面向列的开源数据库 - MongoDB是一个基于分布式文件存储的数据库 - Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
三、SQL语句的学习
SQL语言分为以下几种:
1)DDL: (Data Definition Language )如何定义的语言 (如何创建数据库,创建表,创建字段等)
2)DML: (数据库操作语言) 一般指的是(数据新增,修改,删除等)
3)DQL: (查询语言,重中之重)(数据的各种查询,你每天都在查数据)
4)TCL: (Transaction Control Language) 比如修改密码,创建一个用户,赋予权限等
1、DDL语言的学习
1、创建数据库
create database mydb001;
create database mydb002 character set utf8;
第一个是不带字符集,创建了一个数据库,第二个是带有字符集。第一个没有指定字符集,该数据库的字符集是什么呢?
如果你创建了一个数据库,这个数据库没有指定字符集,那么该数据库的字符集是mysql服务器软件安装的时候选择的字符集。
2、查看数据库
show databases; 查看所有数据库
show create database mydb001; 查看某个数据库创建的细节数据
3、修改数据库
alter database mydb001 character set utf8;
4、删除数据库 慎重又慎重,就当没学过。
drop database mydb001;
create table student(name varchar(255),age int,gender varchar(2));
create table 表名(
字段一的名字 字段的类型(字段的长度),
字段二的名字 字段的类型(字段的长度)
);
所有的表都必须属于某个 数据库,mydb002 数据库,想在这个数据库中,创建一个表(student).
所以当窗口执行命令的时候,不知道你想在哪个数据库中操作,需要我们手动的切换数据库。
use 数据库的名字; 切换数据库
use mydb002;
以后就可以使用这个数据库了。
数据库中的字段有哪些呢?
数据类型 | 类型描述 | 示例 |
---|---|---|
int | 整型,整数类型 | |
double | 浮点型 | double(5,2): 表示最多有5位,其中必须有两位数小数,即最大值是999.99 |
char | 固定长度的字符串 | char(5): 固定5位字符,即’aa’也占用5位字符 |
varchar | 可变长度的字符串 | varchar(5): 可以根据内容动态分配空间,’aa’只占用两位。括号里的5表示最大的位数。 |
text | 字符串类型 | |
blob | 字节类型 | |
date | 日期类型 | yyyy-MM-dd |
time | 时间类型 | hh:mm:ss |
timestamp | 时间戳类型 | yyyy-MM-dd hh:mm:ss,会自动赋值 CURRENT_TIMESTAMP |
datetime | 时间类型 | yyyy-MM-dd hh:mm:ss |
总结一点:两个类型就搞定了,看见数字使用int,看见字符串使用varchar 即可。
继续说表的操作:
如何快速查看表的字段:
desc student;
1、删除某个表
drop table student;
直接将整个表全部删除,包含里面的各种数据,是一个危险操作。
2、对表进行重命名
alter table student rename to student_new;
3、查看创建的细节
show create table student;
4、如何给表添加字段
alter table student add height double(5,2);
5、查看某个数据库中所有的表
show tables;
6、修改某个表的字段的类型
alter table student_new modify height int;
7、修改一下表的字符集
alter table student_new character set gbk;
int 类型的数据字段,如果不加长度,默认是11位。
如何知道我当前在操作哪个数据库呢?
select database();
DDL的其他操作:
1、删除表中的字段
alter table student_new drop height;
2、对表中的数据及表结构进行备份
create table student2 as select * from student_new;
3、对表中的表结构进行备份,不要数据
create table student3 like student_new;
4、查询一个表中的所有数据(不属于DDL)
select * from student2;