当前位置: 首页 > news >正文

MySQL基础命令表及补充说明

MySQL基础命令

文章目录

  • 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 表示模糊查询,%百分号表示匹配多个字元,而__一个下划线表示匹配一个字元。

相关文章:

  • 格子三合一交友婚恋网站模板/制作网页代码大全
  • 做网站外包大学生/站长工具网站排名
  • wordpress页面在哪里/seo推广是做什么的
  • seo顾问服务 乐云践新专家/山西优化公司
  • wordpress 伪娘/品牌设计公司
  • 外贸网站建设海外推广/企业培训课程开发
  • 吴恩达机器学习课程笔记:模型描述、假设函数、代价函数
  • C 程序设计教程(17)—— 循环结构程序设计练习题
  • IO流的学习
  • 除夕New Year Eve,祝大家团圆幸福!
  • 字符串函数、内存操作函数的模拟实现
  • 《Linux Shell脚本攻略》学习笔记-第二章
  • Python加密Excel
  • “华为杯”研究生数学建模竞赛2004年-【华为杯】C题:基于样条模型的汽车可靠性双向联合预测(附优秀论文)
  • leetcode 1814. 统计一个数组中好对子的数目
  • C语言—基于realloc函数实现的通讯录
  • CHAPTER 9 Web服务与应用(一)
  • 服务注册与发现:Nacos Discovery