• MySQL核心SQL:结构化查询语句SQL、库操作、表操作、CRUD


    结构化查询语句SQL

    SQL是结构化查询语言(Structure Query Language),它是关系型数据库的通用语言。

    SQL主要可以划分为以下 3 个类别:
    DDL(Data Definition Languages)语句
    数据定义语言,这些语句定义了不同的数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。

    DML(Data Manipulation Language)语句
    数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、update 和select 等。

    DCL(Data Control Language)语句
    数据控制语句,用于控制不同的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

    库操作

    首先查看mysql服务是否工作正常(默认在3306端口)

    在这里插入图片描述

    输入密码进入MySQL

    在这里插入图片描述

    查询数据库
    show databases;

    在这里插入图片描述

    创建数据库
    create database TestDB;

    删除数据库
    drop database TestDB;

    选择数据库
    use TestDB;

    表操作

    查看表
    show tables;

    在这里插入图片描述

    创建表

    create table user(id int unsigned primary key not null auto_increment,
    				name varchar(50) not null,
    				age tinyint not null,
    				sex enum('M','W') not null)engine=INNODB default charset=utf8;
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    查看表结构
    desc user;

    在这里插入图片描述

    查看建表SQL
    show create table user\G
    show create table user;

    在这里插入图片描述
    在这里插入图片描述

    删除表
    drop table user;

    在这里插入图片描述

    CURD操作

    insert 增加
    insert into user(name, age, sex) values(‘zhang san’, 20, ‘M’);

    注意,这个insert是根据上面所建的表的字段进行的,为什么没写ID,因为ID是自增键。

    在这里插入图片描述

    update 修改
    update user set age = age + 1;

    在这里插入图片描述

    delete 删除
    delete from user where id = 1;

    在这里插入图片描述

    select 查询
    select* from user;
    select id,name,age,sex from user;
    select id,name from user;
    select id,name,age,sex from user where sex=‘M’ and age>=20 and age<=25;
    select id,name,age,sex from user where sex=‘M’ and age between 20 and
    25;
    select id,name,age,sex from user where sex=‘W’ or age>=22;
    可配合运算符达到不同查询效果

    去重 distinct

    比如要得知表里面的user都是哪些年龄段的:

    select distinct age from user;

    在这里插入图片描述

    问题

    1.面试题:有自增键的表里,删除其中一条数据,再增加数据后,自增键是用以前删除的还是往后补?

    实际是继续往后自增的。

    在这里插入图片描述

    2.下面两种增加方式,请问他们有什么区别?

    在这里插入图片描述

    实际上,客户端与MySQL Server需要先进行TCP三次握手,那么第一种重复insert会导致下面三个步骤做了15次,而第二种方式,下面的三步只执行力一遍。

    有需要,可以学习数据库连接池,经过性能测试发现,省略大量TCP三次握手,提升的效率还是可以的。

    数据库连接池:【点击这里查看】

  • 相关阅读:
    nginx配置负载均衡--实战项目(适用于轮询、加权轮询、ip_hash)
    SSM毕设项目 - 基于SSM的毕业设计管理系统(含源码+论文)
    普通人还有必要学习 Python 之类的编程语言吗?
    【笔记】MTK与高通平台emergency APN配置差异
    如何确定推荐计划是否会成功?有这几个重要指标
    如何理解BFC
    【allegro 17.4软件操作保姆级教程八】布线操作基础之三
    12.(Python数模)(相关性分析一)相关系数矩阵
    王道 第四章网络层
    《QT实用小工具·三十二》九宫格炫酷主界面
  • 原文地址:https://blog.csdn.net/m0_56257585/article/details/126134861