@[toc]
# 一、DOS 基本命令
查看所有数据库
`show databases;`
创建数据库
`create database coderhub;`
查看当前数据库
`select database();`
进入数据库
`use coderhub;`
显示当前数据库所有表
`show tables;`
创建表
`create table users( name varchar(10), age int, height double);`
# 二、数据库常识
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210427200447907.png?)
这个排序规则指的是在查询数据(`select * from xxx`)的时候的排序规则。
- `ci`表示不区分大小写
- `cs`表示区分大小写
- `ai`表示不区分轻重音
- `as`表示区分轻重音
# 三、MySQL数据结构
官网直达:
[https://dev.mysql.com/doc/refman/8.0/en/data-types.html](https://dev.mysql.com/doc/refman/8.0/en/data-types.html)
## 4.1 数字类型
MySQL的数字类型有很多:
- 整数数字类型:INTEGER,INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210427232337942.png?)
- 浮点数字类型:`FLOAT,DOUBLE`(FLOAT是4个字节,DOUBLE是8个字节);
- 精确数字类型:`DECIMAL`,`NUMERIC`(DECIMAL是NUMERIC的实现形式);
MySQL DECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。
以下示例使用DECIMAL数据类型定义的一个叫作amount的列。
```sql
amount DECIMAL(6,2);
```
在此示例中,amount列最多可以存储6位数字,小数位数为2位; 因此,amount列的范围是从-9999.99到9999.99。
关于 `DECIMAL`详情:[MySQL数据类型DECIMAL用法](https://www.cnblogs.com/owenma/p/7097602.html)
## 4.2 SQL的数据类型 – 日期类型
MySQL的日期类型也很多:
- YEAR以YYYY格式显示值
- 范围 1901到2155,和 0000。
- **DATE**类型用于具有日期部分但没有时间部分的值:
- DATE以格式YYYY-MM-DD显示值 ;
- 支持的范围是 '1000-01-01' 到 '9999-12-31'
- **DATETIME** <font color="red"> **(常用)** </font>类型用于包含日期和时间部分的值:
- DATETIME以格式'YYYY-MM-DD hh:mm:ss'显示值;
- 支持的范围是1000-01-01 00:00:00到9999-12-31 23:59:59;
- TIMESTAMP数据类型被用于同时包含日期和时间部分的值:
- TIMESTAMP以格式'YYYY-MM-DD hh:mm:ss'显示值;
- 但是它的范围是UTC的时间范围:'1970-01-01 00:00:01'到'2038-01-19 03:14:07';
- 另外:DATETIME或TIMESTAMP 值可以包括在高达微秒(6位)精度的后小数秒一部分
- 比如DATETIME表示的范围可以是'1000-01-01 00:00:00.000000'到'9999-12-31 23:59:59.999999';
## 4.3 字符串类型
MySQL的字符串类型表示方式如下:
- CHAR类型在创建表时为固定长度,长度可以是0到255之间的任何值;
- 在被查询时,会删除后面的空格;
- VARCHAR类型的值是可变长度的字符串,长度可以指定为0到65535之间的值;
- 在被查询时,不会删除后面的空格;
- BINARY和VARBINARY 类型用于存储二进制字符串,存储的是字节字符串;
- https://dev.mysql.com/doc/refman/8.0/en/binary-varbinary.html
- BLOB用于存储大的二进制类型;
- TEXT用于存储大的字符串类型;
# 四、数据库操作
常见的SQL语句我们可以分成四类:
- DDL(Data Definition Language):数据定义语言;
- 可以通过DDL语句对数据库或者表进行:创建、删除、修改等操作;
- DML(Data Manipulation Language):数据操作语言;
- 可以通过DML语句对表进行:添加、删除、修改等操作;
- DQL(Data Query Language):数据查询语言;
- 可以通过DQL从数据库中查询记录;(重点)
- DCL(Data Control Language):数据控制语言;
- 对数据库、表格的权限进行相关访问控制操作;
## 3.1 DDL
```sql
# 1. 查看所有数据库
SHOW DATABASES;
# 2. 选择某个数据库
USE coderhub;
# 3. 查看当前正在使用的数据库
SELECT DATABASE();
# 4. 创建一个新的数据库
CREATE DATABASE douyu;
-- 创建的时候判断是否存在,避免报错
-- CREATE DATABASE IF NOT EXISTS douyu;
-- 创建的时候判断并指定字符集和排序规则
-- CREATE DATABASE IF NOT EXISTS douyu DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
# 5. 删除数据库
DROP DATABASE IF EXISTS douyu;
# 6. 修改数据库编码
ALTER DATABASE douyu CHARACTER SET = utf8 COLLATE = utf8_general_ci
```
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。