mysql的语言特点_MySQL

MySQL

一、数据库的好处

可以持久话数据到本地

结构化查询(SQL)

二、数据库的常见概念 *

DB:数据库 存储有组织的数据的容器

DBMS:数据库管理系统,又称为数据库软件或者数据库产品(eg. MySQL),用于创建和管理数据库

SQL:结构化查询语言:与数据库通信,实现数据库操作,几乎所有的主流的数据库软件通用的语言

三、数据库存储的特点

数据存到表中,表再放到库中

一个库中可以有多张表,每张表具有唯一的表名来标识自己

表中有一个或多个列,列又称为“字段”(相当于Java类中的属性)

表中的每一行数据,相当于Java中的“对象”

四、MySQL的安装

属于c/s架构的软件,一般来讲,安装的是服务端

五、MySQL的启动、停止、登陆和退出

net start 服务名

net stop 服务名

mysql [-h 主机名 -P 端口号] -u 用户名 -p密码

exit

六、DQL(数据查询)语言

#进阶1:基础查询

/*

语法:select 查询列表 from 表名;(MySql 不区分大小写)

特点:

1、查询列表为:表中的字段、常量值、表达式和函数

2、查询结果是一个虚拟的表格

*/

#启动制定的库(安全)

USE myemployees;

#查询表中的单个字段

SELECT last_name FROM employees;

#查询表中的多个字段

SELECT last_name, salary, email FROM employees;

#查询表中的所有字段, *代表所有的字段(字段的顺序与原始表相同)

SELECT * FROM employees;

#查询常量

SELECT 100;

SELECT 'a';

#查询表达式

select 100%98;

#查询函数

select version();

#更该字段的名称(1、便于理解;2、使用别名能区分重名的字段)

#方法一:使用as

select 100%98 as 结果;

select last_name as 姓, first_name as 名 from employees;

#方法二:使用空格

select 100%98 结果;

#特例:查询salary,显示结果为out put(这里有空格)

select salary as "out put" from employees;

#去重 DISTINCT

#select department_id from employees;

select distinct department_id from employees;

# +号的作用

/*

mysql中的+号仅表示运算符

eg. select 100 + 9;

select 'john' + 90; #试图将字符(串)123转换为数值。

如果成功,则将字符型转换为数值,继续做加法运算;

如果不成功,则将字符型转换为0;

select null + 90; null 加任何值均为null

*/

#案例:连接姓和名,组合成姓名,使用函数 CONCAT()

select concat(last_name, first_name) as 姓名

from employees;

#显示表的结构

desc employees;

#进阶2:条件查询

/*

语法:

select

查询列表 #查询

from

表名 #第一步

where

筛选条件 #筛选

分类:

1、按条件表达式筛选

条件运算符:,,=,,=,=

2、按照逻辑表达式筛选

逻辑运算符:and or not( || !)

作用:用于连接条件表达式

3、模糊查询:like、between and、in、is null

*/

#按条件表达式筛选

#案例1、查询工资12000的员工信息

SELECT * FROM employees WHERE salary 12000;

#案例1、查询部门编号不等于90的员工名和部门编号

SELECT last_name, department_id

FROM employees

WHERE department_id 90;

#按照逻辑表达式筛选

#案例1、查询工资在10000-20000的员工信息

SELECT * FROM employees WHERE salary = 10000 AND salary = 20000;

SELECT * FROM employees

WHERE NOT(department_id = 90 AND department_id = 110) OR salary 15000;

#进阶3:模糊查询

/*

like、between and、in、is null、is not null

特点:1、一般和通配符搭配使用

通配符:

% 任意多个字符(包含0个字符)

_ 任意单个字符

\ 表示转义字符; ESCAPE '*' 指定一个字符为转义字符

*/

#案例1、查询员工名中包含字符a的员工信息,%表示通配符

SELECT * FROM employees WHERE first_name LIKE '%a%' OR last_name LIKE '%a%';

#案例2、查询员工名中第三个字符为e,第五个字符为a的员工名和工资

SELECT last_name, salary FROM employees

WHERE last_name LIKE '__n_l%';

#案例3、查询员工名中第2个字符为下划线的员工名和工资(转义字符\)

SELECT last_name, salary FROM employees

#where last_name like '_\_%';

WHERE last_name LIKE '_*_%' ESCAPE '*';

/*

between and

1、可以提高语句的简洁度;

2、左右都是闭区间

3、两个临界值不能颠倒

*/

#案例4、查询员工编号在100到200之间的员工信息

SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 200;

/* in

含义:用于判断某字段的值是否属于列表中的某一项

特点:1、使用in做筛选,能提高语句的简洁度

2、in列表中的值类型必须统一,或者兼容

3、IN等价于是否等于,列表中的每一项不支持通配符(通配符表示某一范围)

*/

#案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

SELECT last_name, job_id FROM employees

WHERE job_id IN ('IT_PROG', 'AD_VP', 'AD_PRES');

/*is null

1、 =或者 NULL 这种写法是不对的

2、is null 或者 is not null 可以判断null

*/

#案例:查询奖金率不为null的员工名和奖金率

SELECT

last_name,

commission_pct

FROM

employees

WHERE

commission_pct IS NOT NULL;

/*

安全等于 =

既可以判断null值,又可以判断普通的数值

可读性较is null低

*/

SELECT

last_name,

salary

FROM

employees

#WHERE commission_pct = NULL;

WHERE salary = 12000;

#查询员工号为176的员工的姓名、部门号和年薪

SELECT

last_name,

department_id,

salary*12*(1+IFNULL(commission_pct,0)) AS 年薪

FROM

employees

WHERE department_id = 100;

#案例

SELECT *

FROM employees

WHERE job_id 'IT' OR salary = 12000;

#查询表的结构信息

DESC departments;

#查询部门departments中涉及到哪些位置编号

SELECT DISTINCT location_id FROM departments;

#面试题:语句1和语句2的结果是否相同

#语句1

SELECT * FROM employees;

#语句2

SELECT * FROM employees WHERE last_name LIKE '%';

#答案:不相同,因为通配符 % 不能匹配null的情况

注意:比较一下 is null 和=

普通类型的数值 null值 可读性

is null no yes yes

= yes yes no

MySQL 相关文章

SQL注入--双注入的学习

0x1 需要用到的MySQL函数 count():用来统计表中或数组中记录的一个函数 count(*)某表中所有的列 floor():返回 小于等于 该值的最大整数【向下取整】 rand(): 产生随机数 0x2原理分析 接下来我们再分析其报错的形成 原因: 先谈group by 函数: 在表中再插入

dbcp、c3p0、druid三种数据库连接池的用法

dbcp、c3p0、druid三种数据库连接池的用法 dbcp 1.在maven项目中,pom.xml文件中添加dbcp依赖,版本可在maven官网查找最新版本。 dependency groupIdcommons-dbcp/groupId artifactIdcommons-dbcp/artifactId version1.4/version /dependency 2.在resources

4.Spring的数据库开发

JDBC是Spring数据集成/访问的重要模块 4.1Spring JDBC Spring 的 JDBC模块负责数据库资源管理和错误处理,简化开发人员对数据库的操作。 4.1.1Spring JdbcTemplate 的解析 JdbcTemplate类是Spring JdBC的核心类,该类继承抽象类JdbcAccessor,实现JdbcOperat

Oracle Day02

表级修改 DDL DDL 所有的对数据库对象的操作语句 create database , alter database , create table ,alter table drop table,create index等 ORACLE 数据类型 类型 说明 number 数字类型 integer 整型 在程序中用 char 定长字符型 varchar 变长长字符型,最

SQL Server 查询 数据库 表格 大小

注意:生产环境请谨慎操作,建议先在测试环境进行测试验证。 数据库 ----查询当前数据库大小 exec sp_spaceused ----批量查询所有数据库大小 with fsas( select database_id, type, size * 8.0 / 1024 size from sys.master_files)select name, (select cast

数据库备份

备份必加参数: -R:在备份时,同时备份存储过程和函数,相当于linux的shell脚本 -E:在备份时,同时备份event,相当于linux里的定时备份命令crontab --triggers:在备份时同时备份触发器, --master-data=2:记录备份开始时的position号,可作为将来做日志截

EntityFrameworkCore教程:生成数据库表

使用程序包管理器控制台迁移的方式分为三个步骤。 1、安装Microsoft.EntityFrameworkCore.Tools包 由于迁移需要使用到Microsoft.EntityFrameworkCore.Tools包,所以先要在EFCore.Data类库项目上安装这个包,直接在NuGet里面安装即可。 这里是把EFCore安装在

mysql备份与保存

脚本需求: 每天备份mysql数据库,保留7天的脚本。 存放在/opt/dbbak目录中。 脚本名称为database_xxxx-xx-xx.sql 脚本内容: 12345 #!/bin/bash export NOW= "$(date +" %Y-%m-%d ")" export DATA_DIR=/opt/dbbak /usr/ local /ywgh/mysql/bin/mysqldump --

mysql学习笔记:五.DDL常用操作

目录 DDL常用操作 数据库的操作 创建库 删除库 表操作 创建表 约束说明 删除表 修改表名 表加备注 复制表 只复制表结构 复制表结构和数据 列的管理 添加列 修改列 删除列 DDL常用操作 DDL(Data Define Languge):数据定义语言 create、drop、alter 语句 ,

mysql 查询当天、本周,本月,上一个月的数据......

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) = 1 近七天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) = date(时间字段名) 近30天 SE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值