MySQL基础命令表及补充说明

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

MySQL基础命令

文章目录

前情提要

该博客为学习 SQL 3小时快速入门 的学习笔记其内容均为视频内容。

  • []为参数
  • 命令由关键字和参数组成。关键字小写也行但是一般都用大写以示区分参数尽量小写
  • 参数可以和关键字重复但此时要是用`` 将其包裹起来注意不是英文单引号而是esc`下方那个符号
  • 每条指令后面必须要跟上一个;做结尾

常用操作汇总表

操作名称命令补充说明
创建数据库CREATE DATABASE [数据库名称]/
查询数据库SHOW DATABASES/
删除数据库DROP DATABASE [数据库名称]/
选择数据库USE [数据库名称]/
创建数据表CREATE TABLE [表配置项]配置项补充
查看数据表DESCRIBE [数据表名称]/
删除数据表DROP [数据表名称]/
表添加属性ALTER TABLE [数据表名称] ADD [属性名] [属性描述]添加表属性
删除表属性ALTER TABLE [表名称] DROP COLUMN [属性名]/
表添加数据INSERT INTO [表名称] VALUES([需要插入的数据])插入数据
查询表数据SELECT [查询条件] FROM [表名称]查询数据
修改表数据UPDATE [表名称] SET [赋值语句] WHERE [条件]修改数据
删除表数据DELETE FROM [表名称] WHERE [条件]/
添加FOREIGNKEY请见补充说明Foreign Key
聚合函数操作数据时做一些简单的逻辑处理聚合函数
条件补充补充一些利用条件筛选定位数据时的东西条件补充
合并查询结果SELECT … UNION SELECT …多个查询用UNION连接
连接多个表SELECT [查询条件] FROM [表名] JOIN [表名] ON [条件]/
子查询用小括号包裹一个查询语句即采用查询结果替代小括号在一查询中用另一查询结果

补充内容

1. 创建数据表
CREATE TABLE `students`(
	`id` INT PRIMARY KEY,
	`name` VARCHAR(20),
	`major` VARCHAR(20)
);

同时对PRIMARY KEY的定义除了可以像上面那样在定义的时候写出也可以这样

CREATE TABLE `students`(
	`id` INT,
	`name` VARCHAR(20),
	`major` VARCHAR(20)
	 PRIMARY KEY(`id`)
);

属性特殊限定词

  • UNIQUE必填该属性为必填属性
  • DEFAULT默认值 => DEFAULT '...'
  • AUTO_INCREMENT自增长插入数据的时候自动根据上一条数据+1
2. 添加表属性
ALTER TABLE `student` ADD grade DECIMAL(3,2);
3. 插入数据
INSERT INTO `students` VALUES(1, '沧州刺史', '通信工程');

注意上面VALUES中填写的数据其顺序需要和创建时一致

如果想修改填写数据的顺序可以在表名称后面跟上一个括号指定顺序

INSERT INTO `students`('name', 'major', 'id') VALUES('沧州刺史', '通信工程', 1);

如果不填空着的那个数据默认为NULL

4. 查询数据

*是所有的意思如果想要只筛选出一部分出来这样写

SELECT `name` FROM `students`;

这个就是单独把name这个属性读出来如果想要多个属性只需要用,隔开就行。

如果想要读取的时候顺便排序在后面加上ORDER BY

SELECT * 
FROM `students`
ORDER BY `id` DESC;

默认是由低到高加上DESC则是由高到低。如果有多个排序依据则当前一个相同的时候再根据后面一个继续比较。

如果想只要前几个例如在后面添加LIMIT 3就是只读取前三个出来。

当不想要查询出来的某个属性重复在属性前加上 DISTINCT

5. 修改数据

修改之前需要关闭系统预设模式

SET SQL_SAFE_UPDATES = 0;

将通信工程这个名字修改成通宵工程

UPDATE `students`
SET `major` = '通宵工程'
WHERE `major` = '通信工程';

条件查询时可以通过ORAND综合不同条件修改时也可以通过,分割修改多个数据。

UPDATE `students`
SET `major` = '通宵工程'
WHERE `major` = '通信工程' or `major` = ;
6. Foeign Key

有两种添加模式

  1. 在创建表格的时候就添加

    FOREIGN KEY( [1] ) REFERENCES [2] ( [3] ) ON DELETE SET NULL

    1当前表中指定为Foreign Key的属性

    2需要链接到的表的名称

    3链接表中对应的属性

    FOREIGN KEY(`manager_id`) REFERENCES `employee`(`emp_id`) ON DELETE SET NULL;
    
  2. 后续通过添加属性的形式通过命令操作

    ALTER TABLE `employee`
    ADD FOREIGN KEY(`branch_id`)
    REFERENCES `branch`(`branch_id`)
    ON DELETE SET NULL;
    

    上面的操作即为在 employee 这个数据表中将 branch_id 这个属性设置为 Foreign Key并且该 Foreign Key 链接至 branch 这个表中的 branch_id 属性

    ON DELETE SET NULL当REFERENCES 后的数据不存在把前面对应的那个数据设为NULL

    ON DELETE CASCADE如果REFERENCES后的数据不存在把前面对应的那一条数据也删了

7. 聚合函数
  1. 统计数据条数

    SELECT COUNT(*) FROM `employee`;
    

    上面的操作会返回 employee 这个表中所存数据的总条数

  2. 计算某属性的平均值

    SELECT AVG(`salary`) FROM `employee`;
    

    算出表中所有员工的工资平均值

  3. 计算总和

    SELECT SUM(`salary`) FROM `employee`;
    

    计算所有员工工资总和

  4. 获取最大最小值

    SELECT MAX(`salary`) FROM `employee`;
    

    上面是获取最大值最小值就是把MAX换成MIN

8. 条件补充
  1. 多个判断条件

    使用 OR 或者 AND 连接分别对应 或、与 逻辑

  2. 比大小

    除了不等于其余和常规一样例如大于等于是 >=。而不等于是 <>一个小于一个大于连起来。

  3. 查询匹配一定格式的数据

    比如要查询手机尾号是123的用户则条件查询这样写

    WHERE `phone` LIKE '%123'
    

    其中LIKE 表示模糊查询%百分号表示匹配多个字元而__一个下划线表示匹配一个字元。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql

“MySQL基础命令表及补充说明” 的相关文章