MySQL 系列教程之(三) MySQL 基本概念和操作丨【绽放吧!数据库】

举报
ruochen 发表于 2021/07/30 21:18:43 2021/07/30
【摘要】 MySQL 系列教程之(三) MySQL 基本概念和操作

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 退出当前命令行模式

【绽放吧!数据库】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/285617

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。