一、数据库的理论
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;

