MySQL数据库操作语言

文章目录

  • MySQL数据库操作语言
    • `前言`
      • 在学习具体的SQL语句之前,先来了解通用语法.
    • 1.SQL 基本操作语言有哪些?
    • 2.DDL 数据定义语言[^DDL]
      • 2.1.0 数据库操作
        • 2.1.1查询所有数据库(+s)
        • 2.1.2查询当前数据库
        • 2.1.3创建数据库
          • 案例1:创建一个 pisa 数据库使用数据库的默认的字符集.
          • 案例二.创建一个 nailao 数据库,并且指定字符集
        • 2.1.4.删除数据库
        • 2.1.5.切换数据库
      • 2.2.0 表操作
        • 2.2.1 查询创建表
          • a.查询当前数据库所用表(+s)
          • b.我们可以切换到sys这个系统数据库,并查看系统数据库中的所有表结构。(了解)
          • c.`创建表`结构
          • d.查看指定`表结构`
          • **e.查询指定表的`建表语句`**
        • 2.3.0 数据结构
          • 2.3.1 数值类型
          • 2.3.2 字符串类型
          • 2.3.3 日期类型
          • **2.3.4** **表操作**案例
      • 2.3.0 **表[字段]操作修改**
        • 2.3.1 添加字段
          • 案例:
        • 2.3.2 修改字段类型
        • 2.3.3 修改字段名和字段类型
          • 案例:将emp表的nickname字段修改为username,类型为varchar(30)
        • 2.3.4 删除字段
          • 案例:将emp表的字段username删除
        • 2.3.5 修改表(名)
        • 2.3.6 删除表
          • 2.3.6.1 删除指定表
          • 案例:如果tb_bengdan表存在,则删除tb_bengdan表
          • 2.3.6.2 删除指定表并重新创建**`相同名的表`**
        • **2.4.0** 图形化界面工具
          • 安装 datagrip-2021.2.2.exe
          • **使用**
          • 展示所有数据库
          • 2.4.1创建数据库
          • 2.4.2创建表
          • 2.4.3修改表结构
          • 6). 在DataGrip中执行SQL语句
    • 3.DML 数据操作语言[^DMl]
      • 3.1.0 **数据操作**
        • 3.1.1 添加数据
          • a.给`指定`字段`添加`数据
            • 案例1: 给empling表所有的字段添加数据 ;
            • 案例2: 给empling表所有的字段添加数据
          • b.给`所有`字段`添加`数据
            • 案例:插入数据到empling表,具体的SQL如下:
          • c.`批量添加`字段`数据`
            • 案例:批量插入数据到empling表,具体的SQL如下:
        • 3.2.2 修改数据
          • 案例A:修改id为1的数据,将name修改为 wukong
          • 案例B. 修改id为1的数据, 将name修改为小昭, gender修改为 女
          • 案例C. 将所有的员工入职日期修改为 2008-01-01
        • 3.3.1 删除数据
          • 案例A: 删除gender为女的员工
    • 4.DQL 数据查询语言[^DQL]
      • 4.1 准备数据
      • 4.2 语法
        • 4.2.1 基础查询
          • 1).查询多字段
          • 2).**字段设置别名**
          • **3).** **去除重复记录**
          • 案例:
        • 4.2.2 条件查询
          • 4.2.2.1 语法
          • 4.2.2.2 条件
          • 案例:
            • A.查询年龄等于 88 的员工
            • B.查询年龄小于 20 的员工信息
            • C.查询年龄小于等于 20 的员工信息
            • D. 查询没有身份证号的员工信息
            • E. 查询有身份证号的员工信息
            • F. 查询年龄不等于 88 的员工信息
            • G. 查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息
            • I. 查询年龄等于18 或 20 或 40 的员工信息
            • J. 查询姓名为两个字的员工信息 _ %
            • K. 查询身份证号最后一位是X的员工信息
        • 4.2.3 聚合函数
          • 4.2.3.1 介绍
          • 4.2.3.2 常见的聚合函数
          • 4.2.3.3 语法
          • 4.2.3.4 案例
            • A. 统计该企业员工数量
            • B. 统计该企业员工的平均年龄
            • C. 统计该企业员工的最大年龄
            • D. 统计该企业员工的最小年龄
            • E. 统计西安地区员工的年龄之和
        • 4.2.4 分组查询
          • 4.2.4.1语法:
          • 4.2.4.2 where 与 haveing区别
          • 4.2.4.3 案例:
            • A. 根据性别分组 , 统计男性员工 和 女性员工的数量
            • B. 根据性别分组 , 统计男性员工 和 女性员工的平均年龄
            • C. 查询年龄小于45的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
            • D. 统计各个工作地址上班的男性及女性员工的数量
        • 4.2.5 排序查询
          • 4.2.5.1 语法
          • 4.2.5.2 排序方式
          • 4.2.5.3 案例
          • A. 根据年龄对公司的员工进行升序排序
          • B. 根据入职时间, 对员工进行降序排序
          • C. 根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序
        • 4.2.6 分页查询
          • 4.2.6.1 语法
          • 4.2.6.2 案例一
            • A. 查询第1页员工数据, 每页展示10条记录
            • B. 查询第2页员工数据, 每页展示10条记录 --------> (页码-1)*页展示记录数
        • 4.2.7 综合案例
          • a. 查询年龄为20,21,22,23岁的女员工信息。
          • b. 查询性别为 男 ,并且年龄在 20-40 岁(含)以内的姓名为三个字的员工。
          • c. 统计员工表中, 年龄小于60岁的 , 男性员工和女性员工的人数。
          • d. 查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。
          • e. 查询性别为男,且年龄在20-40 岁(含)以内的前5个员工信息,对查询的结果按年龄升序,排序年龄相同按入职时间升序排序。
        • 4.2.8 执行顺序
          • 验证:
            • 1.查询年龄大于15的员工姓名,年龄,并根据年龄进行升序排序.
            • 2.在查询时,我们给emp表起一个别名 e,然后在select 及 where中使用该别名。
            • 3.给select后面的字段起别名,然后在 where 中使用这个别名,然后看看是否可以执行成功。
            • 4.我们再执行如下SQL语句,查看(order by)执行顺序:
    • 5.DCL[^DCL]
      • **一.**管理用户
        • 1).查询用户
        • 2). 创建用户
        • 3). 修改用户密码
        • 4).删除用户
        • 5). 案例
          • A. 创建用户dage 只能够在当前主机localhost访问, 密码123456;
          • 创建用户shifu,可以在任意主机访问该数据库,密码123456;
          • 修改用户shifu的访问密码为1234;
          • 删除 dage@localhost 用户
      • 二.权限控制
          • 2.1). 查询权限(+S)
          • 2.2). 授予权限
        • 2.3).撤销权限
        • 2.4案例:------------
          • A. 查询 'root'@'%' 用户的权限
          • B. 授予 'root'@'%' 用户 **所有** 数据库 **所有表** 的所有操作权限
          • C. 撤销 'root'@'%' 用户的**pisa数据库**的**所有表权限**

前言

在学习具体的SQL语句之前,先来了解通用语法.

  1. SQL可以 单行或多行 书写,已 分号 结尾.
  2. SQL语句可以使 用空格/缩进 来增强语句的可读性.
  3. MYSQL数据库操作语言不区分大小写,关键字 建议使用大写
  4. 注释:
    • 单行注释: – 注释内容 或 # 注释内容
    • 多行注释: /* 装饰内容 */

1.SQL 基本操作语言有哪些?

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表单记录
DCL Data Control Language 数据控制语言,用来创建数据库用户,控制数据库的访问权限

2.DDL 数据定义语言1

使用系统cmd自带的命令行工具执行指令链接MySQL客户端

mysql [-h 127.0.0.1] -[P 3306] -u root -p[]

参数:

  • -h: MySQL服务所在的主机IP

  • -P:MySQL服务端口号,默认3306

  • -u:MySQL数据库用户名

  • -p:MySQL数据库用户对应的密码

    ​ []内为可选参数,如果连接远程的MySQL,需要加上这两个参数来指定远程主机IP,端口,如果连接本地的MySQL,则无需指定这两个参数

以下以为连接本地和远程 mysql客户端为例 分别演示:

连接远程 mysql

2.1.0 数据库操作

2.1.1查询所有数据库(+s)

show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)mysql>

2.1.2查询当前数据库

select database();

mysql> select database();
+------------+
| database() |
+------------+
| NULL       |
+------------+
1 row in set (0.02 sec)mysql>

2.1.3创建数据库

create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;

案例1:创建一个 pisa 数据库使用数据库的默认的字符集.

create database pisa;

mysql> create database pisa;
Query OK, 1 row affected (0.10 sec)mysql>

在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。

mysql> create database pisa;
ERROR 1007 (HY000): Can't create database 'pisa'; database exists
mysql>

可以通过if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不创建。

create database if not extists pisa;

mysql> create database if not extists pisa;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'extists pisa' at line 1
mysql>
案例二.创建一个 nailao 数据库,并且指定字符集

create database nailao charset utf8mb4;

mysql> create database nailao charset utf8mb4;
Query OK, 1 row affected (0.03 sec)mysql>

2.1.4.删除数据库

drop database [if exists] 数据库名;

mysql> drop database if exists nailao;
Query OK, 0 rows affected (0.15 sec)mysql>

2.1.5.切换数据库

use 数据库名;

当我们要操作某一个数据库下的表的时候,尤为重要,否则就会发生错误

MySQL数据库操作语言相关推荐

  1. DSP学习 -- C语言实现MySQL数据库操作

    如需转载请注明出处 https://juyou.blog.csdn.net/article/details/109259673 要实现在VS上使用C语言操作MySQL数据库.接下来看一下该怎么操作. ...

  2. Hello Go(十八)、Go语言MySQL数据库操作

    一.MySQL数据库驱动 1.MySQL数据库驱动简介 Go语言官方没有实现MySQL数据库驱动,常用的开源MySQL数据库驱动实现如下: (1)Go MySQL Driver Go MySQL Dr ...

  3. mysql db模块下载_易语言MySql数据库操作类V1.0模块源码

    易语言MySql数据库操作类V1.0模块源码 易语言MySql数据库操作类V1.0模块源码 系统结构:MySql数据库连接类_测试子程序,置连接选项,连接,关闭,是否已连接,取连接句柄,置连接句柄,执 ...

  4. 基于c语言的简单的mysql数据库操作

    基于c语言的简单的mysql数据库操作 最近做项目需要利用c语言对mysql进行获取数据的操作,于是我对mysql社区提供的c语言调用mysql的部分api进行了简单封装,这里做下记录,方便以后回顾. ...

  5. c mysql数据库_C实现MySQL数据库操作

    C实现MySQL数据库操作 两个月前,也就是9月份,心血来潮在windows下实现了用C连接数据库,当时很是有把linux下一并给实现了.但是没有想得那么简单.这个任务一直推迟到了现在才完成,究其原因 ...

  6. freecplus框架-MySQL数据库操作

    文章目录 一.源代码说明 二.概述 三.connection类 四.sqlstatement类 五.程序流程 1.无结果集SQL的程序的流程 2.有结果集SQL的程序的流程 六.示例程序 1.创建超女 ...

  7. 【数据库】(三)-- mysql 数据库操作应用

    [数据库](三)-- mysql 数据库操作应用 操作说明 使用 navicat 针对 mysql 进行 sql 的使用,mysql 运行在本地的 docker 环境的应用容器中. 语法和关键字什么的 ...

  8. C++、Python、Java的MySQL数据库操作

    C++.Python.Java 的MySQL数据库操作 简介 提供MySQL安装说明,以及在C++.Python.Java编程中的MySQL数据库环境配置,并且分别利用这三种语言对基础的MySQL数据 ...

  9. mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作

    使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...

最新文章

  1. 面对500篇GNN论文,心态差点儿崩了,幸好我有这本小书
  2. teched2006会议资料
  3. 合并排序 非递归 java_合并排序-非递归
  4. 装文件存储服务器Fastdfs
  5. linux buffer 刷到磁盘,Linux下的磁盘缓存 linux page buffer cache深入理解
  6. 一个流氓的SQL设计,备份(一个字段存多个数据)
  7. spring mvc +@Valid +@RequestBody 来做参数校验返回400,并且不显示具体message 如何解决...
  8. kubernetes视频教程笔记 (18)-service
  9. python获取当前路径的方法
  10. hdu5750Dertouzos
  11. General Sultan UVA - 11604(建图暴力)
  12. 博客图片上传:Typora+PicGo图床
  13. java parser .java_Stanford Parser使用之 Eclipse+java调用
  14. nginx php spawn-fcgi,搭建CentOS+NGINX+Spawn-fcgi+CPP开发环境
  15. 公共基础知识:笔的演变
  16. PQ和HLG标准及其转换
  17. 完美解决Setup has encountered an error(system file time out of sync,error code is 800b0101)
  18. html沙盘图插件,3D Map Generator(3D沙盘设计PS插件)V1.0 正式版
  19. 2021-2027全球与中国入侵和攻击模拟解决方案市场现状及未来发展趋势
  20. Alcohol 120%刻录教程:刻录镜像文件

热门文章

  1. iOS13新特性-WWDC2019大会总结-ipadOS发布-SwiftUI重磅发布
  2. 记录个js调用浏览器打印功能的代码
  3. 欧拉定理学习20161004
  4. 亚利桑那州立大学在线计算机硕士录取,亚利桑那州立大学计算机科学(信息保障)理科硕士入学条件及实习就业...
  5. Oracle存储过程中游标的简单使用
  6. 鲲鹏arm服务器编译安装PaddlePaddle
  7. 数学四大思想八大方法_数学八种思维方法
  8. 中科院大牛博士是如何进行文献检索和阅读(好习惯受益终生)
  9. 使用DHT11和51单片机进行温湿度的读取(保证好用版本)
  10. Tomcat可以正常启动,却打不开webapps目录下的html文件