My SQL数据库整理

这篇博客详细介绍了MySQL数据库的使用,包括创建数据库、指定操作数据库、创建数据表、增加记录、删除数据、更新数据、查询以及聚合函数的用法。内容涵盖从基本的数据库创建到复杂的查询操作,如ORDER BY进行数据排序,以及COUNT(), SUM(), AVG(), MAX(), MIN()等聚合函数的应用。" 47267779,1426582,Golang捕获HTTP连接关闭:有无Context策略,"['Golang', 'Web开发', 'HTTP连接', 'Context']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建数据库

CREATE DATABASE 数据库名;

CREATE DATABASE student;

2. 指定要操作的数据库

USE 数据库名;

USE student;

3.创建数据库表

CREATE TABLE 数据表名
  (
    字段名1 数据类型[完整性约束条件],
    字段名2 数据类型[完整性约束条件],
    …
    字段名2 数据类型[完整性约束条件]
  );

CREATE TABLE grade
{
   id INT(11),
   name VARCHAR(20),
   grade FLOAT 
}

4. 增加记录

  • 插入单条数据

INSERT INTO 表名(字段名1,字段名2,…)
VALUES(值1,值2)

INSERT INTO student
       VALUES(1, 'zhangsan', 98)
  • 插入多条数据
INSERT INTO studnt VALUES
(5, 'lilie', 99),
(6, 'hanmeimei', 87)

5. 删除数据

语法: DELETE FROM 表名 WHERE 条件表达式

  • 举例:删除student表中的id值为7的记录
DELETE FORM student WHERE id = 7
  • 举例:删除全部的数据
DELETE FORM student

6.更新数据

语法: UPDATE 表名
SET 字段名1=值1,,,
[WHERE 条件表达式]

更新部分数据:

  • 举例:将student表中id值为1=记录,将其name字段的值改为‘caocao’,grade字段的值改为50。
UPDATE student
   SET name='caocao',grade=60
   WHERE id=1

更新全部的数据:

-举例:更新student表中全部记录,将grade字段都更新为80

UPDATE student
SET grade = 80

7.查询

语法:SELECT 字段名1,字段名2,… FROM 表名

SELECT id, name,grade, gender 
FORM student2

8. 聚合函数

|函数名称|作用 |
|COUNT()|返回某列的行数|
| SUM() |返回某列值的和 |
|AVG()|返回某列的平均值|
|MAX()|返回某列的最大值|
|MIN()|返回某列的最小值|

1)COUNT()函数:统计记录的条数
语法:SELECT COUNT() FROM 表名
举例:查询student2表中一共有多少条记录
命令:SELECT COUNT(
) FORM student2’

(2)SUM()函数:求出表中某个字段所有值的总和
语法:SELECT SUM(字段名) FROM 表名;
举例:求出student2表中grade字段的总和
命令:SELECT SUM(grade) FORM student2

4.3.2 对查询结果进行排序
语法:SELECT 字段名1,字段名2,…
   FROM 表名
   ORDER BY 字段名1 [ ASC | DESC ],字段名2 [ ASC | DESC ]…
在该语法中指定的字段名是对查询结果进行排序的依据,ASC表示升序排列,DESC 表示降序排列,默认情况是升序排列。
举例1:查出student2表中的所有记录,并按照grade字段进行升序排序
命令:SELECT * FORM student2
ORDER BY grade
举例2:查出student2表中的所有记录,并按照grade字段进行降序排序
命令:SELECT * FORM sudent2
ORDER BY grade DESC;

### 清理 SQL 数据库空间的最佳实践 对于关系型数据库而言,清理空间是一项重要的维护工作,旨在释放未使用的磁盘空间并提高整体性能。具体操作取决于所使用的数据库管理系统(DBMS),以下是通用指导原则和针对 Oracle 的特定命令。 #### 评估当前状况 在采取任何行动之前,应当先分析现有空间的状态。可以通过查询系统视图获取有关分配给各对象的空间量的信息[^4]: ```sql SELECT tablespace_name, SUM(bytes)/1024/1024 AS MB FROM dba_segments GROUP BY tablespace_name; ``` 此脚本会返回各个空间占用的兆字节数(MB)。 #### 收缩和索引 当发现某些或索引占据了过多空间时,应该考虑对其进行重组以回收碎片化后的可用空间。对于大尺寸的对象来说尤其如此。收缩可通过如下方式实现: - **重建索引**: 使用 `ALTER INDEX ... REBUILD` 命令可重新构建指定索引,从而消除内部碎片。 ```sql ALTER INDEX my_index REBUILD ONLINE; ``` - **移动**: 对于本身,则可以利用 `ALTER TABLE ... MOVE` 来迁移其数据至新的存储位置,期间同样能达到整理的效果。 ```sql ALTER TABLE my_table MOVE; ``` 上述两个动作均能有效地压缩目标结构,并可能使后续插入更紧凑地排列在一起。 #### 删除废弃对象 如果确认不再需要某个模式下的全部内容——比如测试环境中遗留下来的无用单——可以直接将其移除以便立即腾出相应区域。注意,在执行这类指令前务必确保不会误删重要资料! ```sql DROP TABLE my_obsolete_table CASCADE CONSTRAINTS PURGE; ``` 这里的 `CASCADE CONSTRAINTS` 参数用于自动解除与其他实体间存在的约束条件;而 `PURGE` 关键词则指示立刻从回收站中彻底清除被丢弃项,防止日后意外恢复的可能性。 #### 调整参数设置 有时适当调整初始化参数也能间接影响到空间利用率。例如降低高水位线(HWM)可以帮助减少不必要的扫描范围,进而加快读取速度。不过此类改动需谨慎对待,最好是在充分理解后果后再做决定。 #### 处理临时空间 专门讨论一下关于临时空间(Temporary Tablespace)的情况。因为它的用途特殊(主要用于排序、哈希连接等),所以一般不需要像常规永久空间那样频繁打理。但是仍然有必要关注其增长趋势,必要时增加额外容量或是设定合理的配额限制以防过度膨胀[^3]。 最后提醒一点,所有的变更都应事先做好详尽规划,并尽可能安排在业务低峰期进行以免干扰正常服务运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值