目录

一,SQL通用语法

二,SQL分类

三,DDL(数据定义语言)

1,数据库操作:

2,表操作:

3,表操作-数据类型:

1)数据类型:​编辑

2)字符串类型:

3)日期类型:

4)案例:

4,表操作-修改:

1)增加字段:

2)修改:

3)删除字段:

4)修改表名:

5,表操作-删除

6,总结:

1)数据库操作:

2)表操作:

四, 图形化界面工具DataGrip

五,DML(数据操作语言)--Data Manipulation Language

1,增加数据:

1)给指定字段添加数据:

2)给所有字段添加数据:

3)批量添加数据:

2,修改数据:

3,删除数据:

六,DQL (数据查询语言)--Data Query Language

1,基本查询:

1)查询多个字段:

2)设置别名: ​编辑

3)去除重复记录:(返回去重操作后的数据)

2,条件查询:

3,聚合函数:

4,分组查询:

5,排序查询:

6,分页查询:

习题:

答案:

7,执行顺序:

七,DCL(数据控制语言)--Data Control Language

1,用户管理:

2,权限控制:

学习大纲:

一,SQL通用语法

1. SQL语句可以单行或多行书写,以分号结尾。

2.SQL语句可以使用空格/缩进来增强语句的可读性。

3. MySQL数据库的SQL语句不区分大小写, 关键字建议使用大写。(统一规范)

4.注释:

●单行注释: -- 注释内容或 # 注释内容(MySQL特有)
●多行注释: /* 注释内容*/

二,SQL分类

三,DDL(数据定义语言)

1,数据库操作:

2,表操作:

查询所有的表之前,前提是要先进入这个数据库中。(use 数据库名)

注意: [..]为可选参数,最后一个字段后面没有逗号

尝试用上面的伪代码讲下面的表结构创建出来。

 注:不要随意在系统库里面进行操作。

3,表操作-数据类型:

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

1)数据类型:

精度:所有位数

标度:小数位数

2)字符串类型:

char的性能较好,(varchar)。有一个计算的过程。(计算字符串的长度)

3)日期类型:

4)案例:

根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下:
1.编号(纯数字)
2.员工工号 (字符串类型,长度不超过10位)
3. 员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一一个汉字)
5.年龄(正常人年龄,不可能存储负数)
6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7.入职时间 (取值年月日即可)

4,表操作-修改:

1)增加字段:

为emp表增加一个新的字段”昵称"为nickname,类型为varchar(20)

2)修改:

将emp表的nickname字段修改为username,类型为varchar(30)

3)删除字段:

将emp表的字段username删除

4)修改表名:

将emp表的表名修改为employee

5,表操作-删除

将原有的数据全部删除,重新创建一张新表,表中无任何数据。

6,总结:

1)数据库操作:

2)表操作:

四, 图形化界面工具DataGrip

日常开发效率低,使用不直观。

五,DML(数据操作语言)--Data Manipulation Language

用于对数据库中表的数据记录进行增删改操作

1,增加数据:

1)给指定字段添加数据:

2)给所有字段添加数据:

3)批量添加数据:

注意:
●插入数据时,指定的字段顺序需要与值的顺序是一一对应的。.
●字符串和日期型数据应该包含在引号中。
●插入的数据大小,应该在字段的规定范围内。

2,修改数据:

注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

如果不带where条件,代表修改整张表。 

3,删除数据:

注意:
DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
DELETE语句不能删除某一个字段的值(可以使 用UPDATE)。

六,DQL (数据查询语言)--Data Query Language

用来查询数据库中表的记录。

1,基本查询:

1)查询多个字段:

2)设置别名: 

3)去除重复记录:(返回去重操作后的数据)

create table emp(id            int               comment '编号',workno        varchar(10)       comment '工号',name          varchar(10)       comment '姓名',gender        char(1)           comment '性别',age           tinyint unsigned  comment '年龄',idcard        char(10)          comment '身份证号',workaddress   varchar(50)       comment '工作地址',entrydata     date              comment '入职时间'
) comment '员工表';insert into  emp(id, workno, name, gender, age, idcard, workaddress, entrydata)
values (1,'1','y11','m',29,'1234','北京','2008-01-01'),(2,'2','y12','m',30,'2234','北京','2008-03-01'),(3,'3','y13','w',19,'3234','北京','2008-05-01'),(4,'4','y14','m',56,'4234','北京','2008-07-01'),(5,'5','y15','w',25,'5234','北京','2008-08-01'),(6,'6','y16','m',35,'6234','北京','2009-01-01'),(7,'7','y17','w',38,'7234','北京','2002-01-01'),(8,'8','y18','m',45,'8234','北京','2005-06-01'),(9,'9','y19','w',29,'9234','北京','2008-01-01'),(10,'10','y10','m',21,'0234','北京','2007-03-01');

案例:

1,

2,

 尽量不写*,不直观,会影响效率。

3,

as可写可不写。

4,

 不能用别名去查重。

2,条件查询:

案例:

1, 

2,

4,

不能混合使用关键字。

6,

 7,

 between后面接最小值,and后面接最大值。

9,

 10,

 11,查询身份证号第一位是9的员工信息

3,聚合函数:

1)将一列数据作为一个整体,进行纵向计算。

2)常见聚合函数:

3)语法:

案例:

 注意: null值不参与所有聚合函数运算。

1,

2,自动保留四位小数 3,

5,

4,分组查询:

 where与having区别
执行时机不同: where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

判断条件不同: where不能对聚合函数进行判断,而having可以。

案例:

1,

3,

 注意
●执行顺序: where >聚合函数> having。
●分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

5,排序查询:

 排序方式
ASC:升序(默认值)
DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

案例:

1, 3,

6,分页查询:

注意
●起始索引从0开始,起始索引= (查询页码-1) *每页显示记录数。
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
●如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10。

案例:

1,

2,

习题:

答案:

7,执行顺序:

验证!!!!

七,DCL(数据控制语言)--Data Control Language

用来管理数据库用户,控制数据库访问权限。

主要是管理两个方面。

1,哪些用户可以访问该数据库服务器。(用户管理)

2,该用户可以访问哪些数据库。(权限控制)

1,用户管理:

案例:

注意:
●主机名可以使用%通配。
●这类SQL语句开发人员操作的比较少,主要是DBA ( Database Administrator 数据库管理员)使用。

 

2,权限控制:

 还想知道更多,就去查官方文件。

无任何权限,仅仅是能登录数据库,连接数据库而已。

 

 用命令行查看时,要先退出,再进去查看。不然的话,权限仍然未变。

注意:
●多个权限之间,使用逗号分隔
●授权时,数据库名和表名可以使用*进行通配,代表所有。

学习MySQL的第二天:SQL(基础篇)相关推荐

  1. 焱老师带你学习MYSQL系列 第二篇 (MYSQL 数据结构)

    相关系列链接 焱老师带你学习MYSQL系列 第六篇 (MYSQL是如何实现锁的) 焱老师带你学习MYSQL系列 第五篇 (MYSQL事务隔离级别是如何实现的) 焱老师带你学习MYSQL系列 第四篇 ( ...

  2. D3.js学习指北--第二章,基础复习

    D3学习指北–第二章,基础复习 1.关于html的svg标签   html5里有很多个标签,但是关于D3的应用多用在一个标签上< svg >svg标签可以理解为一个绘画板,里面提供了各类的 ...

  3. Python学习之旅(核心编程基础篇003运算符)

    Python学习之旅 Python核心编程基础篇2020.12.18 一.算数运算符 二.比较运算符 三.赋值运算符 四.逻辑运算符 五.成员运算符 六.身份运算符 七.三目运算符 八.运算符优先级 ...

  4. SQL 基础篇 SQL 16 查找GPA最高值

    SQL基础篇(汇总)刷题传送门 题目链接 题面 样例输入 drop table if exists user_profile; CREATE TABLE `user_profile` ( `id` i ...

  5. Cyclone V SoC FPGA学习之路第二章:硬件篇

    Cyclone V SoC FPGA学习之路第二章:硬件篇(内部资源) 前言 上一章了解了<cycloneV device datasheet>,其中数据手册里重点介绍了电源要求,时序参数 ...

  6. 学习easygui的第二天(基础功能)

    学习easygui的第二天(基础功能) 一.什么是easygui 二.导入easygui 三.easygui的默认参数 四.调用easygui里的函数 一.什么是easygui easygui是Pyt ...

  7. 【MySQL之MySQL底层分析篇】系统学习MySQL,从应用SQL语法到底层知识讲解,这将是你见过最完成的知识体系

    文章目录 MySQL体系结构 MySQL存储结构(以InnoDB为例) MySQL执行流程(以InnoDB为例) 1. 数据写入原理 2. 数据查询原理 MySQL存储引擎 1. 为什么需要不同的存储 ...

  8. 【MySQL入门到高级之基础篇(参考尚硅谷宋红康老师2022版)】

    文章目录 第一章数据库概述 为什么要使用数据库 数据库与数据库管理系统 数据库的相关概念 数据库与数据库管理系统的关系 常见的数据库管理系统排名(DBMS) 常见的数据库介绍 MySQL介绍 概述 M ...

  9. mysql经典总结文章_MySQL基础篇(01):经典实用查询案例,总结整理

    MySQL基础篇(01):经典实用查询案例,总结整理 发布时间:2020-02-26 22:25:21 来源:51CTO 阅读:244 作者:知了一笑 本文源码:GitHub·点这里 || GitEE ...

最新文章

  1. 华人“军火专家”——黄仁勋
  2. 调查:新冠病毒对全球结构化布线市场的影响
  3. 数据分析结果解读_聚类分析的实际运用及案例解读(二)
  4. Python中正反斜杠('/'和'\')的意义
  5. osgdem的参数表(转)
  6. jq分页 不刷新页面_jQuery无刷新分页完整实例代码
  7. oracle 物化视图 on commit,oracle物化视图的一般用法
  8. edius隐藏快捷键_EDIUS素材隐藏快捷键是什么啊?
  9. Linux基础——014_钩子程序同步代码
  10. 淘宝与拍拍的世纪之战!(庄帅)
  11. 系统测试缺陷检出密度越大越好吗?
  12. 知道一点怎么设直线方程_两点直线方程怎么求
  13. WRITE_ONCE READ_ONCE 函数的介绍与使用
  14. 世硕科技推荐:Shockman 最新音译 登峰侠
  15. qcustomplot时间坐标轴画直线_QCustomplot使用分享(六) 坐标轴和网格线
  16. 计算机win10分区软件,如何利用Win10系统DiskPart工具进行GPT硬盘分区
  17. 前端项目更换鼠标样式
  18. raspberry pi_使用Raspberry Pi为您的娱乐中心构建时钟
  19. 139邮箱山寨版push mail功能
  20. 支持向量机-《统计学习方法》学习笔记

热门文章

  1. 电瓶车充电桩收费平台在福建学校的应用
  2. 服务器U盘安装安装centos
  3. thinningopencv
  4. 弱口令是什么?有哪些注意事项?
  5. DAZ3D STUDIO渲染设置:基础和技巧
  6. HDL语言三种描述方式--结构化描述方式、数据流描述方式、行为级描述方式
  7. 大数据与机器学习算法相关的电子书分享
  8. 暑假训练 The Triangle Game (OpenJ_Bailian - 1574)
  9. 台式电脑上没有显示计算机怎么办,电脑显示器无视频输入怎么办
  10. Android 9.0以上HTTP网络请求被限制解决方案