1.1 DB/DBMS/表
-
DB(Database):数据库,其实就是一组用于存放数据的文件组合,在MySQL每一个库就是一个文件夹,文件夹中存放多个文件(表、表结构等),表中存放着具体的数据。
-
DBMS:数据库管理系统,它是一个软件,该软件的作用是用来解析我们输入的SQL,然后根据我们的SQL对数据库进行操作(I/O操作)。
-
表:是一种结构化的文件,与Excel的结构很像,有行、有列、有表头、有单元格等。其中,行用来记录数据,每一行表示表中的一条记录;列用来存放具体的内容,也可叫做字段(类似单元格);表头叫做字段名。
1.2 SQL语句的分类
- 数据查询语言(DQL-Data Query Language) :从表中获取数据并返回。代表关键字:
select
; -
数据操纵语言(DML-Data Manipulation Language):对表中的数据进行更新的,包括添加、删除、修改数据。代表关键字:
insert、delete、update
; -
数据定义语言(DDL-Data Definition Language):对库中的表或用户等进行定义维护的,例如创建表 删除表 修改表结构 以及修改密码等。代表关键字:
create、drop、alter
; -
事务控制语言(TCL-Transactional Control Language):完成对事务的提交和回滚。代表关键字:
commit、rollback
; -
数据控制语言(DCL-Data Control Language):主要是DBA的操作命令,例如用户权限分配或权限回收等。代表关键字:
grant、revoke
;
1.3 创建/连接数据库
-- 1. 连接MySQL数据库服务器:
mysql -uroot -p[123] [-P3306] [-hip127.0.0.1]
-- 2. 创建数据库:
create database 数据库名称;
-- 3. 使用数据库:
show databases;
show tables;
desc 表名
use 数据库名称;
-- 4. 导入sql文件:注意文件路径最好不要包含中文
source SQL脚本的绝对路径;
-- 批量执行sql脚本文件:
@SQL脚本文件路径
1.4 简单查询
-------------------------简单查询----------------------------------
-- 查询:使用SQL语句获取数据库表中的某些记录
-- 语法格式
select 显示列名1, 显示列名2, ..., 显示列名n from 表名;
-- 注意:
1、显示类名默认情况与表中的字段名相同
2、显示列名可以直接进行数学计算例如 + - * / ,可以列名和列名进行计算,也可以使用列名和一个常量进行计算,但是要求列名和常量必须是数字
3、如果需要显示表中所有列的数据那么可以使用 * 替代显示列名,但是不推荐,这样可能会增加IO的压力,一般需要哪些列就数据,就只获取哪些列
4、数据库中除数据内容以外其他所有位置不区分大小写
-- 为显示列指定别名
-- 语法格式:
显示列名 as 别名
或
显示列名 别名
-- 注意:
1、别名可以任意的填写
2、如果别名中包含特殊字符(空格和中文等)必须要为别名添加单引号'' ,例如 '姓名'
1.5 常用数据类型
MySQL中常用的数据类型 | 描述 |
---|---|
varchar(长度) | 实际的磁盘空间占用以字段中存放的实际的数据量为准, 总上限位65535 |
double(有效数字位数, 小数位) | 浮点型 |
float(有效数字位数, 小数位) | 浮点型 |
bigdecimal(有效数字位数, 小数位) | 定点型 |
int(长度) | 整型,无需指定长度,约-2e9~2e9 |
bigint(长度) | 长整型,无需指定长度,适合做“主键”,约-9e18~9e18 |
Date | 时间类型 只有年月日的时间(入职实际、出生日期) |
DateTime | 时间类型 年月日时分秒的时间(瞬时时间、表中每一条记录的创建时间、购物下单时间) |