当前位置: 首页>数据库>正文

mysql学习尚硅谷 mysql学习资料

文章目录

  • 前言
  • 一、数据库概述及数据准备
  • 1.1、SQL概述
  • 1.2、什么是数据库
  • 1.3、MySql概述
  • 1.4、表
  • 1.5、SQL的分类
  • 二、常用命令
  • 2.1、查看msyql版本
  • 2.2、创建数据库
  • 2.3、查询当前使用的数据库
  • 2.4、终止一条语句
  • 2.5、退出mysql
  • 2.6、查看表的结构
  • 三、简单的查询
  • 3.1、Select
  • 3.2、起别名as
  • 四、条件查询
  • 4.1、where
  • 4.2、等号操作符
  • 4.3、 <>操作符
  • 4.4、between … and …操作符
  • 4.5、is null
  • 4.6、 and
  • 4.7、or
  • 4.8、表达式的优先级
  • 4.9、in
  • 4.10、not
  • 4.11、like
  • 总结


前言

本文为博主自学mysqlb站动力节点老杜的学习笔记,如有侵权请联系删除。


提示:以下是本篇文章正文内容,下面案例可供参考

一、数据库概述及数据准备

1.1、SQL概述

SQL,一般发音为sequel,SQL的全称Structured Query Language),SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。但是每一个数据库都有自己的特性别的数据库没有,当使用这个数据库特性相关的功能,这时SQL语句可能就不是标准了.(90%以上的SQL都是通用的)

1.2、什么是数据库

数据库,通常是一个或一组文件,保存了一些符合特定规格的数据,数据库对应的英语单词是DataBase,简称:DB,数据库软件称为数据库管理系统(DBMS),全称为DataBase Management System,如:Oracle、SQL Server、MySql、Sybase、informix、DB2、interbase、PostgreSql 。

1.3、MySql概述

MySQL最初是由“MySQL AB”公司开发的一套关系型数据库管理系统(RDBMS-Relational Database Mangerment System)。
MySQL不仅是最流行的开源数据库,而且是业界成长最快的数据库,每天有超过7万次的下载量,其应用范围从大型企业到专有的嵌入应用系统。
MySQL AB是由两个瑞典人和一个芬兰人:David Axmark、Allan Larsson和Michael “Monty” Widenius在瑞典创办的。
在2008年初,Sun Microsystems收购了MySQL AB公司。在2009年,Oracle收购了Sun公司,使MySQL并入Oracle的数据库产品线。

1.4、表

表(table)是一种结构化的文件,可以用来存储特定类型的数据,如:学生信息,课程信息,都可以放到表中。另外表都有特定的名称,而且不能重复。表中具有几个概念:列、行、主键。 列叫做字段(Column),行叫做表中的记录,每一个字段都有:字段名称/字段数据类型/字段约束/字段长度学生信息表

学号(主键)

姓名

性别

年龄

00001

张三

20

00002

李四

20

1.5、SQL的分类

数据查询语言(DQL-Data Query Language)代表关键字:select数据操纵语言(DML-Data Manipulation Language)代表关键字:insert,delete,update 数据定义语言(DDL-Data Definition Language)
代表关键字:create ,drop,alter,
事务控制语言(TCL-Transactional Control Language)
代表关键字:commit ,rollback;
数据控制语言(DCL-Data Control Language)
代表关键字:grant,revoke.

二、常用命令

2.1、查看msyql版本

  1. MySQL程序选项具有以下两种通用形式:
  2. 长选项,由单词之前加两个减号组成
  3. 短选项,由单个字母之前加一个减号组成
    C:\Users\Administrator>mysql --version mysql Ver 14.14 Distrib 5.5.36, for Win32 (x86)
    C:\Users\Administrator>mysql -V mysql Ver 14.14 Distrib 5.5.36, for Win32 (x86)

2.2、创建数据库

1.create database 数据库名称; create database  bjpowernode;

2.use 数据库名称 use bjpowernode;

在数据库中建立表,因此创建表的时候必须要先选择数据库。

2.3、查询当前使用的数据库

select  database();
查询数据库版本也可以使用
select  version();

2.4、终止一条语句

如果想要终止一条正在编写的语句,可键入\c。

2.5、退出mysql

可使用\q、QUIT或EXIT:
如:
mysql> \q (ctrl+c)

2.6、查看表的结构

desc <table name>;

三、简单的查询

3.1、Select

select Select语句后面跟的是字段名称,select是关键字,select和字段名称之间采用空格隔开,from表示将要查询的表,它和字段之间采用空格隔开
select * from emp;

3.2、起别名as

select empno as ‘员工编号’, ename as ‘员工姓名’, sal*12 as ‘年薪’ from emp; as可以将字段名起个别名显示,仅用于显示,不改变表。
当然 as也可以省略。
select empno "员工编号", ename "员工姓名", sal*12 "年薪" from emp; 注意中文必須用""|''引起來。

四、条件查询

4.1、where

where 条件查询需要用到where语句,where必须放到from语句表的后面
支持如下运算符

运算符

说明

=

等于

<>或!=

不等于

<

小于

<=

小于等于

>

大于

>=

大于等于

between … and ….

两个值之间,等同于 >= and <=

is null

为null(is not null 不为空)

and

并且

or

或者

in

包含,相当于多个or(not in不在这个范围中)

not

not可以取非,主要用在is 或in中

like

like称为模糊查询,支持%或下划线匹配,%匹配任意个字符,下划线一个下划线只匹配一个字符

4.2、等号操作符

  • 查询薪水为5000的员工
    select empno, ename, sal from emp where sal=5000;
  • 查询job为MANAGER的员工
    select empno, ename from emp where job="manager";Mysql默认情况下大小写是不敏感的。

MySQL在windows下是不区分大小写的,将script文件导入MySQL后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改MySQL的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中MySQL的设置就行了。
具体操作:
在MySQL的配置文件my.ini中增加一行:
lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
   1、数据库名与表名是严格区分大小写的;
   2、表的别名是严格区分大小写的;
   3、列名与列的别名在所有的情况下均是忽略大小写的;
   4、变量名也是严格区分大小写的; MySQL在Windows下都不区分大小写

4.3、 <>操作符

  • 查询薪水不等于5000的员工
    select empno, ename, sal from emp where sal <> 5000;

4.4、between … and …操作符

  • 查询薪水为1600到3000的员工(第一种方式,采用between … and …)
    select empno, ename, sal from emp where sal between 1600 and 3000;关于between … and …,它是包含最大值和最小值的,
    并且and左面必须是最小值,右面必须是最大值。

4.5、is null

Null为空,但不是空串,为null可以设置这个字段不填值,如果查询为null的字段,采用is null

  • 查询津贴为空的员工
    select * from emp where comm is null;

4.6、 and

and表示并且的含义,表示所有的条件必须满足

  • 工作岗位为MANAGER,薪水大于2500的员工
    select * from emp where job='MANAGER' and sal > 2500;

4.7、or

or,只要满足条件即可,相当于包含

  • 查询出job为manager或者job为salesman的员工
    select * from emp where job='MANAGER' or job='SALESMAN';

4.8、表达式的优先级

  • 查询薪水大于1800,并且部门代码为20或30的(正确的写法)
    select * from emp where sal > 1800 and (deptno = 20 or deptno = 30);关于运算符的问题:不用记,没有把握尽量采用括号

4.9、in

  • 查询出job为manager或者job为salesman的员工
    select * from emp where job in ('manager','salesman');

4.10、not

  • 查询出薪水不包含1600和薪水不包含3000的员工
    select * from emp where sal not in (1600, 3000); ==不为空:is not ==

4.11、like

  • 查询姓名以M开头所有的员工
    select * from emp where ename like 'M%';
  • 查询姓名以N结尾的所有的员工
    select * from emp where ename like '%N';
  • 查询姓名中包含O的所有的员工
    select * from emp where ename like '%O%';
  • 查询姓名中第二个字符为A的所有员工
    select * from emp where ename like '_A%';Like中%和下划线的差别?
    %匹配任意字符出现的个数
    下划线只匹配一个字符

    Like 中的表达式必须放到单引号中|双引号中


https://www.xamrdz.com/database/6ug1962832.html

相关文章: