一、数据库的理论

1、由来

Java可以通过IO流技术,将数据保存在磁盘的文件中,还可以从磁盘上读取数据。但是保存的数据非常的凌乱,并且IO流非常的慢。

比如数据还是保存在磁盘上,但是我们可以做一个软件,来操作这样一些文件,达到读取数据,以及保存数据的目的—-数据库

数据库本质上还是文件存储。既然是文件存储,必定需要IO流技术。

2.数据库分类

  1. 关系型数据库(sql) — 通过行和列来表达事物关系的数据库 - Oracle: 是Oracle公司的数据库产品 - Mysql: 最早属于瑞典的MysqlAB公司的,后被Sun公司收购,Sun在2009年4月20号被Oracle收购。 - SQLServer: 微软旗下的数据库产品 C# .net - Access: 微软旗下的数据库产品( Word,Excel,PPT) - DB2: IBM公司旗下的数据库产品
  2. 非关系型数据库(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. 1、创建数据库
  2. create database mydb001;
  3. create database mydb002 character set utf8;
  4. 第一个是不带字符集,创建了一个数据库,第二个是带有字符集。第一个没有指定字符集,该数据库的字符集是什么呢?
  5. 如果你创建了一个数据库,这个数据库没有指定字符集,那么该数据库的字符集是mysql服务器软件安装的时候选择的字符集。
  6. 2、查看数据库
  7. show databases; 查看所有数据库
  8. show create database mydb001; 查看某个数据库创建的细节数据
  9. 3、修改数据库
  10. alter database mydb001 character set utf8;
  11. 4、删除数据库 慎重又慎重,就当没学过。
  12. drop database mydb001;
  1. create table student(name varchar(255),age int,gender varchar(2));
  2. create table 表名(
  3. 字段一的名字 字段的类型(字段的长度),
  4. 字段二的名字 字段的类型(字段的长度)
  5. );

所有的表都必须属于某个 数据库,mydb002 数据库,想在这个数据库中,创建一个表(student).

所以当窗口执行命令的时候,不知道你想在哪个数据库中操作,需要我们手动的切换数据库。

  1. use 数据库的名字; 切换数据库
  2. use mydb002;
  3. 以后就可以使用这个数据库了。

数据库中的字段有哪些呢?

数据类型 类型描述 示例
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 即可。

继续说表的操作:

  1. 如何快速查看表的字段:
  2. desc student;

01-MySQL - 图1

  1. 1、删除某个表
  2. drop table student;
  3. 直接将整个表全部删除,包含里面的各种数据,是一个危险操作。
  4. 2、对表进行重命名
  5. alter table student rename to student_new;
  6. 3、查看创建的细节
  7. show create table student;
  8. 4、如何给表添加字段
  9. alter table student add height double(5,2);
  10. 5、查看某个数据库中所有的表
  11. show tables;
  12. 6、修改某个表的字段的类型
  13. alter table student_new modify height int;
  14. 7、修改一下表的字符集
  15. alter table student_new character set gbk;

int 类型的数据字段,如果不加长度,默认是11位。

如何知道我当前在操作哪个数据库呢?

  1. select database();

01-MySQL - 图2

DDL的其他操作:

  1. 1、删除表中的字段
  2. alter table student_new drop height;
  3. 2、对表中的数据及表结构进行备份
  4. create table student2 as select * from student_new;
  5. 3、对表中的表结构进行备份,不要数据
  6. create table student3 like student_new;
  7. 4、查询一个表中的所有数据(不属于DDL
  8. select * from student2;

01-MySQL - 图3