Mysql笔记之基础查询

1、保存数据的容器
  • 数组、集合等,把数据保存到内存,缺点一断电就没了。
  • 文件,保存到硬盘,缺点不太适合查询。
2、数据库的好处
  • 实现数据持久化
  • 使用完整的管理系统统一管理,易于查询。
3、概念
  • DB:数据库,存储了大量有组织的数据
  • DBMS:数据库管理系统,数据库是通过数据库管理系统创建和操作的容器
    常见的DBMS:Mysql,DB2,Oracle,sqlServer。
  • sql 结构化查询语言,专门用来与数据库通信的语言。特点:几乎所有dbms都支持sql
4、Mysql的卸载

1、控制面板卸载Mysql
2、找到安装Mysql的安装路径,整个删除
3、找到c盘的ProgramData的隐藏文件夹里找到Mysql,整个删除
4、最后还是装不上就清空注册表


image.png
5、Mysql安装

typical,自带服务端和自带的客户端
custom,自定义。一般选自定义
按照之后,mysql配置一直下一步就行了。
选择字符集


image.png

运行dos命令行方式去操作mysql,把bin加入path


image.png

设置密码,并且允许远程机访问
image.png
6、Mysql启动与停止
  • 计算机,管理服务
  • 命令行方式,管理员方式启动cmd,
    输入net stop Mysql名称或者net start Mysql名称。
7、连接mysql,端口要大写,与密码区分,退出mysql。
mysql -h localhost -P 3306 -u root -p 123456

exit或者ctrl c
8、mysql常用命令
查看当前所有的数据库
show databases;

打开指定的库
use 库名;

查看当前数据库的所有表
show tables;

查看其他库的所有表
show tables from 库名;

查看当前的数据库
select database(); 

查看表结构
desc 表名; 

查看mysql服务器版本
select version(); 

9、Mysql的语法规范
  • 不区分大小写 建议关键字大写,表名列名小写
  • 每条命令分号结尾或者/g
  • 如果要换行,关键字在一行
  • 注释
    单行
    #注释文字
    -- 注释文字(注意要有空格)
    多行
    /** 注释文字 **/
10、图形化的常用操作

查询然后写sql语句之后可以保存到.sql文件里。
调整sql语句字体,按住ctrl+鼠标的滚动

11、sql的分类
  • DQL Data Query Language
    基础查询
    条件查询
    排序查询
    常见函数
    分组函数
    分组查询
    连接查询
    子查询
    分页查询
    union联合查询
  • DML Data Manipulation Language
    插入语句
    删除语句
    修改语句
  • DDL Data Definition Language
    库和表的管理
    常见数据类型介绍
    常见约束
  • TCL Transaction Control Language
    事务和事务处理
  • DQL也可以包含在DML里。
  • 视图,存储过程,函数,流程控制结构这些属于psql部分。
12、
  • 员工表employees
    员工编号,名,姓,邮箱,电话号码,工种编号,月薪,奖金率,上级领导的员工编号,部门编号,入职时间。
    其中,job_id和manager_id和department_id使用id,而不用部门名字,减少了数据冗余,节省空间


    image.png
  • 部门表department
    部门编号,部门名字,部门领导的员工编号,位置编号。


  • 位置表location
    位置编号,街道,邮编,城市,州/省,国家编号


    image.png
  • 工种表job
    工种编号,工种名称,最低工资,最高工资


    image.png
13、基础查询
# 进阶1:基础查询
/*
语法:
select 查询列表(可以多个) from 表名

特点:
1、查询列表可以是:表中的字段,常量值,表达式,函数
2、查询的结果是一个虚拟的表格
*/

USE employees;

#1、查询单个字段
SELECT last_name FROM employees;
#2、查询表中的多个字段
SELECT last_name,salary,email FROM employees;
#3、查询表中的所有字段
#sqlyog这个可以靠点左边某个字段就会自动加上,navicat找不到在哪点
#按住f12可以自动对齐,f9运行,*号缺点只能按照它的顺序查出来
SELECT 
  `first_name`,
  `last_name`,
  `email`,
  `job_id`,
  `phone_number`,
  `salary`,
  `commission_pct` 
FROM
  employees ;

SELECT * FROM employees;

# 4、查询的字段可以加着重号或者不加,记住不是单引号,加了只为了区别关键字
# 例如有个name字段,而关键字也有name,加了就可以区分了。

# 5、想要执行哪条命令鼠标选中就行

# 6、查询常量值,就不用选择表
SELECT 100;
SELECT 'John';

# 7、查询表达式
SELECT 100/10;

# 8、查询函数
SELECT VERSION();

# 9、为我们字段起别名,注意别起关键字,如果使用关键字使用双引号括起来
/*
1、便于理解
2、如果要查询的字段有重名例如连表查询,可以使用别名区分开来
方式一:AS
方式二:空格
*/
SELECT 100/10 AS 结果;
SELECT last_name 姓, first_name 名 FROM employees;
SELECT last_name AS 姓, first_name AS 名 FROM employees;


# 10、去重
# 案例:查询员工表中涉及的所有员工部门编号
SELECT department_id FROM employees;
SELECT DISTINCT department_id FROM employees;

# 11、+号的作用
# 案例:查询员工名和姓连接成一个字段,并显示姓名
/*
mysql的加号只有一个功能,运算符,所以下面虽然不报错但是查询出来为0。
SELECT 100+90;  两个操作数做+法运算
SELECT '123' + 90;  如果有字符型就将字符型转换为数字,如果转换成功就做加法运算
如果转换失败,字符串转换为0然后再做加法运算
select null+10; 只要一方为null,结果为null
*/
SELECT last_name+first_name AS 姓名 FROM employees;  

# 12、真正的拼接,concat函数
SELECT CONCAT(last_name, first_name) AS 姓名 FROM employees;


# 13、基础查询的案例

#下面的语句是否可以执行成功  
SELECT last_name , job_id , salary AS sal
FROM employees; 

#下面的语句是否可以执行成功  
SELECT  *  FROM employees; 


# 找出下面语句中的错误 
# 逗号和双引号都要英文下的
SELECT employee_id , last_name,
salary * 12 AS “ANNUAL  SALARY”
FROM employees;



# 显示表departments的结构,并查询其中的全部数据
DESC departments;
SELECT * FROM `departments`;

# 显示出表employees中的全部job_id(不能重复)
SELECT DISTINCT job_id FROM employees;

# 显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
# concat拼接如果有null最后会显示null,需要使用ifnull函数判断

SELECT 
    IFNULL(commission_pct,0) AS 奖金率,
    commission_pct
FROM 
    employees;
    
    
#-------------------------------------------

SELECT
    CONCAT(`first_name`,',',`last_name`,',',`job_id`,',',IFNULL(commission_pct,0)) AS out_put
FROM
    employees;
    

你可能感兴趣的:(Mysql笔记之基础查询)