MySQL 系列教程之(三) MySQL 基本概念和操作

440 阅读6分钟

这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战

MySQL使用方法

  • 命令行模式

    MySQL Command Line Client :命令行模式下输入sql语句来实现数据库的增删改查等操作

  • 图形界面工具

    类似同于excel,我们可以用点点来实现增删改查等数据库操作

SQL

  • SQL是用于访问和处理数据库的标准的计算机语言
  • 是一种专门用来与数据库通信的语言,提供一种从数据库中读写数据的简单有效的方法
  • SQL指结构化查询语言,指数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

一、SQL语言分类

数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

1、数据查询语言DQL

基本结构是由SELECT子句,FROM子句,WHERE子句构成

2、数据操纵语言DML

数据操纵语言DML主要有三种形式:

  1. 插入:INSERT
  2. 更新:UPDATE
  3. 删除:DELETE

3、数据定义语言DDL

数据定义语言DDL用来创建数据库中的表、视图、 索引、同义词、聚簇等

如: CREATE TABLE / VIEW / INDEX / SYN(同义词) / CLUSTER(簇)

4、数据控制语言DCL

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

  1. GRANT: 授权

    数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等

  2. ROLLBACK: 回滚

  3. COMMIT: 提交


注意  

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到

二、SQL语言优点

  • 几乎所有重要的DBMS都支持SQL

    SQL不是某个特定数据库供应商专有的语言。所以,学习此语言使你几乎能与所有数据库打交道。

  • SQL简单易学

    它的语句全都是由描述性很强的英语单词组成,而且这些单词的数目不多

  • SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活 使用其语言元素,可以进行非常复杂和高级的数据库操作。


三、SQL语法特点

  • SQL语句可以换行,要以分号结尾

在这里插入图片描述

  • 命令不区分大小写关键字和函数建议用大写(官方推荐)

在这里插入图片描述

  • 命令打错了换行后不能修改,可以用\c取消

在这里插入图片描述


四、数据库的操作步骤

  • 连接MySQL
  • 打开数据库
  • 操作数据
  • 退出连接

1、连接

打开命令行,输入密码,进行连接,回车后出现mysql>表示连接成功

在这里插入图片描述

在这里插入图片描述


2、打开

在你最初连接到MySQL时,没有任何数据库打开供你使用。在你执行任意数据库进行数据操作前,需要选择一个数据库。为此,可使用USE关键字。

USE 数据库名;
USE python21;

在这里插入图片描述

显示出的Database changed表示数据库选择成功,可以使用当前数据库下的所有数据表中的数据
必须先使用USE打开数据库(选中指定的数据库),才能读取其中的数据

注意

  • 关键字
    作为MySQL语言组成部分的一个保留字。决不要用关键字命名一个表或列
  • 在使用USE切换并选择数据库时,要选择已存在的数据库,否则报一下错误

在这里插入图片描述


3、操作

1)数据库操作

  • 查看数据库

    SHOW DATABASES; 返回可用数据库的一个列表

在这里插入图片描述

  • 创建数据库

    CREATE DATABASE 库名 DEFAULT CHARSET=UTF8; (执行上大小写无差别)

在这里插入图片描述

  • 查看建库语句

    SHOW CREATE DATABASE 数据库名;

在这里插入图片描述

  • 删除数据库

    DROP DATABASE 库名;

在这里插入图片描述


2)数据表操作

数据库管理系统中,可以有很多数据库,每个数据库中可以包括多张数 据表

  • 创建表

        # 如果创建已存在表名会报错
        create table 表名 (
            字段1 类型 约束条件,
            字段2 类型 约束条件
        )default charset=utf8;
        
        例如:
        create table shop (
            id int not null primary key auto_increment,
            goods_name varchar(255),
            goods_id int not null,
            goods_prices varchar(255)
        )default charset=utf8;
    
        或
        
        # 如果表不存在,则创建,如果存在就不执行这条命令
        create table if not exists 表名 (
            字段1 类型 约束条件,
            字段2 类型 约束条件, 
            .......)
        default charset=utf8;
    

    例如:

    create table if not exists shop (id int not null primary key auto_increment, goods_name varchar(255),goods_id int not null,goods_prices varchar(255))default charset=utf8;
    
  • 查看建表语句

        SHOW CREATE TABLE 表名 \G 
        或
        SHOW CREATE TABLE 表名;
    

在这里插入图片描述

  • 查看某一数据库内的所有数据表

        SHOW TABLES; 
        查看数据表之前需要进入指定数据库(也就是查看当前数据库下的数据表)
    

在这里插入图片描述

  • 查看数据表中数据

        SELECT * FROM 表名;
    

在这里插入图片描述

  1. 每一项称为字段
  2. 每一行称为一条记录
  • 查看表结构

        DESC 表名;
    

在这里插入图片描述

  • 删除数据表

        DROP TABLE 表名;
    

3)数据操作


  • 增加数据 / 插入数据

        # 单条插入
    	INSERT INTO 表名 (字段1,字段2,字段3,...) values(值1,值2,值3,...);
    
    	例如:insert into class(class_name,teacher,stu_num) values ('python1','雷雷',19);
    	 # 批量插入
        INSERT INTO 表名 (字段1,字段2,字段3,...) values (a值1,a值2,a值3),(b值1,b值2,b值3),...;
        
        例如:insert into class(class_name,teacher,stu_num) values ('python4','雷雷',67),('python2','萌萌',23),('python3','雷雷',23);
    
  • 查询

        SELECT * FROM 表名;
        SELECT 字段1,字段2,字段3 FROM 表名;
        
        SELECT * FROM 表名 WHERE 字段=某个值;
    
  • 修改

    	UPDATE 表名 SET 字段=某个值 WHERE 条件;
    
  • 删除

        DELETE FROM 表名WHERE 字段=某条件;
    

4、退出

    exit;
    quit;

五、快捷键

  • \G 格式化输出,垂直显示结果(竖立显示)

  • \s 查看服务器端信息

    using delimiter 分隔符 connection id 连接的连接ID或者thread ID。对于已经建立的连接的客户端,都有一个唯一的连接ID

  • \c 结束命令输入操作

  • \h 查看帮助

  • \q 退出当前命令行模式

最后,欢迎大家关注我的个人微信公众号 『小小猿若尘』,获取更多IT技术、干货知识、热点资讯