目录
数据库的认识
数据库对用户:
库(database) ==== IDEA 的一个工程 ;表(table) ==== 类 ; 行(row) ==== 一个对象;列(column) ==== 一个属性
数据库对文件系统:
库 ==== 文件夹 ;表 ==== 一组文件
MySQL 是使用SQL语言,SQL(Structure Query Language)又叫结构化查询语言。分为:
DDL(Data Defination Language) --- 建库、查表、删库、删表操作 [用来维护存储数据的结构]
DML(Data Manipulation Language) --- 增(INSERT)、删(DELETE)、查(SELECT)、改(UPDATE) [用来对数据操作]
DCL(Data Control Language) --- MySQL 权限管理
MySQL的基本操作
关于库的基本操作
CREATE DATABASE `库名`; //新建一个库
SHOW DATABASES; //显示当前库
USE `库名`; //使用该库为默认库
DROP DATABASE `库名`; //删除该库
SELECT DATABASE(); //查看当前默认库
关于表的基本操作
1. CREATE TABLE `表名` (
... 列的定义(Column)
);
2. SHOW TABLES;
3. DROP TABLE;
4. SHOW CREATE TABLE `表名`; //查看表结构
5. DESC `表名`; //查看表结构
常用数据类型
数值类型
数据类型 | 大小 | 说明 | 对应java类型 |
BIT[(M)] | M为指定位数,默认为1 |
二进制数,
M
范围从
1-
64
,存储 。数值范围从0
到
2^M-1
|
常用
Boolean
对应
BIT
,此时默认
是
1
位,即只能存
0
和
1
|
TINYINT
|
1字节 |
二进制数,
M
范围从
1
到
64
,存储数值范围从0
到
2^M-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 |
NUMERIC(M,D)
|
M/D
最大值
+2
|
双精度,
M
指定长度,
D
表示小数点位数。精确数值
|
BigDecimal |
字符串类型
数据类型 | 大小 | 说明 | 对应java类型 |
VARCHAR (SIZE)
|
0-65,535
字节
|
可变长度字符串
|
String
|
TEXT
|
0-65,535
字节
|
长文本数据
|
String
|
MEDIUMTEXT
|
0-16 777 215
字节
|
中等长度文本数据
|
String
|
BLOB
|
0-65,535
字节
|
二进制形式的长文本数据
|
byte[]
|
日期类型
数据类型 | 大小 | 说明 | 对应java中的类型 |
DATETIME
|
8字节 |
范围从
1000
到
9999
年,不会进行时区的检索及转换。
|
java.util.Date
、
java.sql.Timestamp
|
TIMESTAMP
|
4字节 |
范围从
1970
到
2038
年,自动检索当前时区并进行转换。
|
java.util.Date
、
java.sql.Timestamp
|
比较常用的数据类型
INT:整型
DECIMAL(M, D):浮点数类型
VARCHAR(SIZE):字符串类型
TIMESTAMP:日期类型
常用操作的小练习
有一个商店的数据,记录客户及购物情况,有以下三个表组成:
商品
goods(
商品编号
goods_id
,商品名
goods_name,
单价
unitprice,
商品类别
category,
供应商 provider)
客户
customer(
客户号
customer_id,
姓名
name,
住址
address,
邮箱
email,
性别
sex
,身份证
card_id)
购买
purchase(
购买订单号
order_id,
客户号
customer_id,
商品号
goods_id,
购买数量
nums)
-- 创建数据库
create database shop;
-- 选择数据库
use shop;
-- 创建数据库表
-- 商品
create table if not exists goods
(
goods_id int comment '商品编号',
goods_name varchar(32) comment '商品名称',
unitprice int comment '单价,单位分',
category varchar(12) comment '商品分类',
provider varchar(64) comment '供应商名称'
);
-- 客户
create table if not exists customer
(
customer_id int comment '客户编号',
name varchar(32) comment '客户姓名',
address varchar(256) comment '客户地址',
email varchar(64) comment '电子邮箱',
sex bit comment '性别',
card_id varchar(18) comment '身份证'
);
-- 购买
create table if not exists purchase
(
order_id int comment '订单号',
customer_id int comment '客户编号',
goods_id int comment '商品编号',
nums int comment '购买数量'
);
多多练习O(∩_∩)O~