DAY4:MySQL 数据库的建立及简单实用

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 列 运算符 值;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值