初识MySQL&数据库基础
什么是数据库
数据库(DATABASE(简称DB)),是指长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据 “仓库”。
作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余…
数据库总览 :
- 关系型数据库 ( SQL ):
MySQL , Oracle , SQL Server , SQLite , DB2 , …
关系型数据库通过外键关联来建立表与表之间的关系- 非关系型数据库 ( NOSQL ):
Redis , MongoDB , …
非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
MySQL : 是现在流行的 开源的 免费的 关系型数据库。
常见的mysql的登录方式:cmd => mysql -uroot -p
1 数据库的操作
说明:
- 语句不区分大小写
- 三种注释方式:
## 注释
SELECT * FROM mytable; -- 注释
/* 注释1
注释2 */
1.1 显示当前的数据库
show databases;
1.2 创建数据库
create database 数据库名;
--例如创建一个名为model的数据库:
create database model;
1.3 使用数据库
use 数据库名;
--例如使用数据库model
use model;
1.4 删除数据库
drop 数据库名;
注:数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
2 常用数据类型
2.1 数值类型
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
bit[(M)] | M指定位数,默认为1 | 常用Boolean,此时默认一位,即只能存0和1 | |
tinyint | 1字节 | Byte | |
smallint | 2字节 | Short | |
int | 4字节 | Integer | |
bigint | 8字节 | Long | |
float(M,D) | 4字节 | 单精度,M指定长度,D指定小数位数,会发生精度丢失 | Float |
double(M,D) | 8字节 | Double | |
decimal(M,D) | M/D最大值+2 | 双精度,M指定长度,D表示小数点位数。精确数值 | BigDecimal |
nullmeric(M,D) | M/D最大值+2 | 和decimal一样 | BigDecimal |
2.2 字符串类型
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
varchar(size) | 0-65535字节 | 可变长度字符串 | String |
text | 0-65535字节 | 长文本数据 | String |
mediutext | 0-16777215字节 | 中等长度文本数据 | String |
blob | 0-65535字节 | 二进制形式的长文本数据 | byte[] |
2.3 日期类型
日期格式:YYYY-MM-DD
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
datetime | 8字节 | 不会进行时区的检索及转换 | java.util.Date、java.sql.Timestamp |
timestamp | 4字节 | 自动检索当前时区并进行转换 | java.util.Date、java.sql.Timestamp |
3 表操作
需要操作数据库中的表时,需要先使用该数据库.
use model;
3.1 创建表
语法:
CREATE TABLE 表名 (
字段1 类型1,
字段2 类型2,
字段3 类型3,
...
);
例如;
mysql> create table student(id int,
-> name varchar(20),
-> age int comment '年龄',
-> sex varchar(1),
-> birthday timestamp,
-> aver_score decimal(3,1)
-> );
可以使用comment增加字段说明。
3.2 删除表
drop table 表名;
3.3查看表结构
desc 表名;
4 此篇重点总结
操作数据库
-- 显示
show databases;
-- 创建
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
常用数据类型
int : 整型
decimal (M,D) :浮点型,M为长度,D为小数点位数
varchar (size) :字符串类型
date :日期类型,不带时分秒
timestamp :日期类型
操作表
进行表操作前,必须先使用该数据库。
-- 查看
show 表;
-- 创建
create table 表名(
字段1 类型1,
字段2 类型2,
...
);
-- 删除
drop talbe 表名;