当前位置:网站首页>DAY4:MySQL 数据库的建立及简单实用
DAY4:MySQL 数据库的建立及简单实用
2022-07-29 05:19:00 【EdmunDJK】
DAY:4 MySQL 数据库的建立及简单实用
## 1、MySQL 数据库的建立
1.1、拉取 MySQL 镜像
在 docker 中拉取镜像 msql:5.7 这里我们使用的是 mysql 的5.7版本
docker pull mysql:5.7
1.2、启用容器,配置 mysql 数据库
docker run -p 3306:3306 #映射到主机端3306端口
--name mysql #名称为mysql
-v /root/mysql/conf:/etc/mysql/conf.d #创建/etc/mysql/conf.d
-v /root/mysql/logs:/logs #创建目录/logs
-v /root/mysql/data:/var/lib/mysql #创建目录/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root #创建用户root 密码为root
-d mysql:5.7 #使用镜像mysql:5.7

使用 docker ps 查看容器状态,如上图所示即为成功
3、使用 navicat 连接数据库

点击连接,选择 mysql

主机为 docker 下的主机 ip 、端口号为3306 、密码为 root,测试连接成功添加即可进入
2、MySQL 数据库的简单使用
2.1Mysql的常见命令
show databases ; #查看当前所有数据库
show tables ; #查看当前库的所有表
show tables form 库名 ; #显示其他库中含有的表的名字
select database() ; #查看所处于的库名
select * from tables_name ; #查看某个表中的数据(字段数)
select version() ; #查看mysql的版本
2.2、Mysql的语法规范
1、不区分大小写,但建议关键字大写,表名、列名小写
2、每条命令最好用分号结尾
3、每条命令根据需要,可以进行缩进或者换行
4、注释
单行注释: #
单行注释: --注释文字
多行注释: /* 注释文字 */
2.3、创建数据库
点击新建查询,输入mysql 语句

CREATE DATABASE book ;
数据库建立成功
2.4、创建表与字段
使用命令进入所需创建表的数据库(book)
use book;
创建一个名称为 Ssss 的表,插入字段 ID、username、password 并且需要对其定义类型,结果如下
CREATE TABLE Ssss
(
ID INT,
username VARCHAR(255),
password VARCHAR(255)
);

数据类型(data_type)表
数据类型 描述
integer(size) #仅容纳整数、在括号内规定数字的最大位数
int(size) #仅容纳整数、在括号内规定数字的最大位数
smallint(size) #仅容纳整数、在括号内规定数字的最大位数
tinyint(size) #仅容纳整数、在括号内规定数字的最大位数
decimal(size,d) #容纳带有小数的数字、“size” 规定数字的最大位数、“d” 规定小数点右侧的最大位数
numeric(size,d) #容纳带有小数的数字、“size” 规定数字的最大位数、“d” 规定小数点右侧的最大位数
char(size) #容纳固定长度的字符串(可容纳字母、数字以及特殊字符)、在括号中规定字符串的长度
varchar(size) #容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)、在括号中规定字符串的最大长度
date(yyyymmdd) #容纳日期
2.5、插入值
INSERT INTO 语句用于向表格中插入新的行。
语法:
INSERT INTO 表名称 VALUES (值1, 值2,....); #插入新的行
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....); #在指定的列中插入数据
这里我们演示插入 一行 id=2 username=admin password=admin 的新的一行
INSERT INTO Ssss VALUES(123456,'sql',111111); #password 字段我们使用了varchar类型所以在字符串时还是需要带上单引号
INSERT INTO Ssss VALUES (1, 'Bill', '123qwe');

3、SELECT – 查询数据
SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。
语法:
SELECT * FROM 表名称;
我们也可以指定所要查询数据的列:
SELECT 列名称 FROM 表名称;
注意: SQL 语句对大小写不敏感,SELECT 等效于 select。
3.1、基础查询
语法:
select 查询列表 from 表名 ; --选择,过滤,查看
特点:
1、查询列表可以是:表中的字段、表达式、函数
2、查询的结果是一个虚拟的表格
查询表中的单个字段
select last_name from employees ;
查询表中的多个字段
select last_name,salary,email from employees ;
查询表中的所有字段
select * from employees ;
查询常量值
select 100 ;
select 'john' ;
查询表达式
select 100*98 ;
查询函数
select version() ;
3.2、条件查询
语法
select 查询列表 from 表名 where 筛选条件 ;
分类:
1、按条件表达式筛选
(条件运算符:<> = != > < >= <=)
查询工资大于12000信息
select * from employees where salary>12000 ;
2、按逻辑表达式筛选
(逻辑运算符: && || ! )
and or not
查询工资在10000到12000之间的员工名、工资以及奖金
select last_name,salary,commission_pct from employees where salary>=10000 and salary<=12000
3、模糊查询
(like between and in is null )
1、like #一般和通配符搭配使用 (% 任意多个字符,包含0个字符 _ 任意单个字符)
查询员工名包含字符a的员工信息
select * from employees where last_name like '%a%' ;
2、between and #可以提高语句简洁度,包含临界值,两个临界值不要调换顺序
查询员工编号在100到120之间的员工信息
select * from employees where employees_id between 100 and 120 ;
3、in #判断某字段的值是否属于in列表中的某一项,in列表的值类型必须一致或兼容,
查询员工的工种编号 IT_PROG 、AD_VP 、AD_PRES中的一个员工名和工种编号
select last_name,job_id from employees where job_id in ('IT_PROT','AD_VP','AD_PRES');
4、is null # =或<>不能用于判断null值is (not) null可以判断null值,
查询没有奖金的员工名和奖金率
select last_name,commission_pct from employees where commission_pct IS NULL ;
3.3、条件查询
引入
select * from employees ; ------原始顺序
语法:
select 查询列表 where 筛选条件 order by 排序列表 asc|desc ;
查询员工信息,要求工资从高到低,反之用 asc
select * from employees order by salary desc ;
特点:
order by 可以支持单个字段,多个字段,表达式,函数,别名
4、AND & OR – 运算符
A ND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
语法:
AND 运算符实例:
SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值;
OR 运算符实例:
SELECT * FROM 表名称 WHERE 列 运算符 值 OR 列 运算符 值;
4、AND & OR – 运算符
A ND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
语法:
AND 运算符实例:
SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值;
OR 运算符实例:
SELECT * FROM 表名称 WHERE 列 运算符 值 OR 列 运算符 值;
边栏推荐
- DAY6:利用 PHP 编写文件上传页面
- Liang Yuqi, founder of aitalk: the link between image and virtual reality
- Hcia-r & s self use notes (24) ACL
- [C language series] - realize the exchange of two numbers without creating the third variable
- DAY6:利用 PHP 编写登陆页面
- 【TypeScript】深入学习TypeScript对象类型
- ClickHouse学习(三)表引擎
- Realize simple database query (incomplete)
- Terminal shell common commands
- QPalette学习笔记
猜你喜欢
随机推荐
Common characteristic engineering operations
用sql-client.sh生成的job在cancle过后 如何实现断点续传?
TXT 纯文本操作
[sword finger offer] - explain the library function ATOI and simulate the realization of ATOI function
Selenium实战案例之爬取js加密数据
Solve the problem that the prompt information of form verification does not disappear and the assignment does not take effect
AR虚拟增强与现实
shell基本操作(下)
Database operation day 6
href与src的区别
[untitled]
Provincial and urban three-level linkage (simple and perfect)
ClickHouse学习(十)监控运行指标
Longest string without duplicate characters
uniapp组件之tab选项卡滑动切换
Pyqt5: Chapter 1, Section 1: creating a user interface using QT components - Introduction
Hcia-r & s self use notes (26) PPP
相对定位和绝对定位
Fvuln-自动化web漏洞检测工具
HCIA-R&S自用笔记(27)综合实验






![[C language series] - print prime numbers between 100 and 200](/img/61/5b9dea72e7a3fd450a87fe35fb94eb.png)

![[C language series] - storage of deep anatomical data in memory (II) - floating point type](/img/a4/126d9f8e812d8f69b4249eac837bf6.png)
