Mysql一课一得

一.MySQL的下载:

  1. 选择版本

    • 社区版:免费开源,自由下载,不提供官方技术支持。大多数普通用户选择这个版本。
    • 企业版:需要付费,不能在线下载,但提供30天的试用期和官方技术支持。
  2. 访问MySQL官方网站

    1.打开网址:https://www.mysql.com/。
  3. 下载

    1. 点击页面上的【DOWNLOADS】链接。
    • 向下滚动页面,找到【MySQL Community (GPL) Downloads】部分,点击进入。
    • 在产品列表中,点击【MySQL Community Server】。
    • 选择自己想要的版本进行下载(例如图片)
    • 点击对应下载按钮,选择安装MIS文件,或压缩包
    • MIS文件是安装文件。安装过程全程图形化,压缩包文件需要自己进行解压缩。   
    • 安装完成                                                                                                

二.数据库的语法:

1.创建数据库

CREATE DATABASE database_name;

删除数据库

DROP DATABASE database_name;

选择数据库

USE database_name;

2. 表操作

创建表

CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);

删除表

DROP TABLE table_name;

修改表

  1. 添加列
  2. ALTER TABLE table_name ADD column_name datatype;
  3. 删除列
  4. ALTER TABLE table_name DROP COLUMN column_name;
  5. 修改列
  6. ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
  7. 重命名列
  8.  
      
    ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;

    3. 数据操作

    插入数据

    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, value2, value3, ...);

    更新数据

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;

    删除数据

    DELETE FROM table_name WHERE condition;

    4. 查询数据

    基本查询

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition;

    排序

    SELECT column1, column2, ...
    FROM table_name
    ORDER BY column1 ASC|DESC;

    聚合函数

    SELECT COUNT(column_name), AVG(column_name), SUM(column_name), ...
    FROM table_name
    WHERE condition;

    分组

    SELECT column_name(s), aggregate_function(column_name)
    FROM table_name
    WHERE condition
    GROUP BY column_name(s);

    连接表

  9. INNER JOIN
  10. SELECT columns
    FROM table1
    INNER JOIN table2 ON table1.column_name = table2.column_name;
  11. LEFT JOIN
  12. SELECT columns
    FROM table1
    LEFT JOIN table2 ON table1.column_name = table2.column_name;
  13. RIGHT JOIN
SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;

5. 其他常用语句

创建索引

CREATE INDEX index_name ON table_name (column1, column2, ...);

删除索引

DROP INDEX index_name ON table_name;

创建视图

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

删除视图

DROP VIEW view_name;

LIMIT子句(用于限制查询结果的数量)

SELECT column1, column2, ...
FROM table_name
LIMIT number;

SELECT column1, column2, ...
  • FROM table_name
LIMIT offset, count;

三.数据库的实际应用 

  • 银行系统

  1. 应用描述:银行是数据库系统的典型应用领域之一。银行需要存储大量的客户信息、账户信息、交易记录等数据,并能够根据需要进行查询、更新和统计分析。

  2. 功能实现:数据库系统帮助银行实现高效的数据管理和操作,如客户信息管理、账户管理、交易记录查询等。
  • 航空公司系统电子商务系统

  1. 应用描述:航空公司需要管理航班信息、机票销售、乘客信息等大量数据。
  2. 功能实现:数据库系统帮助航空公司实现航班查询、机票预订、座位管理等功能,提高运营效率。
  • 医院管理系统

  1. 应用描述:医院需要管理患者信息、病历信息、药品库存等数据。
  2. 功能实现:数据库系统帮助医院实现患者挂号、病历查询、药品管理等功能,提高医疗服务质量。
  • 电子商务平台

  1. 应用描述:电子商务平台需要管理商品信息、订单信息、用户信息等数据。
  2. 功能实现:数据库系统帮助电商平台实现商品推荐、订单处理、用户管理等功能,提供良好的购物体验。
  • 物流管理系统

  1. 应用描述:物流公司需要管理货物信息、运输信息、仓库信息等数据。
  2. 功能实现:数据库系统帮助物流公司实现货物跟踪、配送路线优化、仓库管理等功能,提高物流效率。
  • 学校和教育系统

  1. 应用描述:学校和教育机构需要管理学生信息、课程信息、教师信息等数据。
  2. 功能实现:数据库系统帮助学校和教育机构实现学生选课、成绩查询、教师管理等功能,提供良好的教学管理服务。
  • 科研领域

  1. 应用描述:在生物学、医学、物理学等科研领域,需要处理和分析大量的实验数据。
  2. 功能实现:数据库系统帮助研究人员存储、查询和分析数据,如基因组数据分析、粒子物理实验数据分析等,加速科学研究进程。
  • 社交媒体平台

  1. 应用描述:社交媒体平台需要管理用户信息、关系网络、帖子信息等数据。
  2. 功能实现:数据库系统帮助社交媒体平台实现用户关系分析、内容推荐等功能,提供个性化的用户体验。
  • 移动应用

  1. 应用描述:随着智能手机和移动设备的普及,越来越多的移动应用依赖于数据库系统来存储和管理用户数据。
  2. 功能实现:数据库系统帮助移动应用实现用户信息管理、数据同步、推送通知等功能。
  • 资源管理

  1. 应用描述:企业需要管理各种资源,如人力资源、财务资源、物料资源等。
  2. 功能实现:数据库系统帮助企业实现资源规划、分配、跟踪等功能,提高资源利用效率。

四.数据库使用的注意事项 

设计与维护

  • 数据库的设计和维护需要专业的知识和技能,应由有经验的数据库管理员来管理。
  • 在数据库中使用适当的数据类型和字段大小来存储数据,以确保数据库的性能和效率。
  • 避免在数据库中存储重复的数据,以节省存储空间和提高查询性能。

性能优化

  • 定期进行数据库性能优化,包括优化查询语句和索引,以提高数据库的响应速度。
  • 合理使用索引来提高数据库查询的性能,但避免过多或不当使用索引,因为这可能会降低性能。
  • 尽可能的使用varchar/nvarchar代替char/nchar,因为变长字段存储空间小,可以节省存储空间并提高查询效率。
  • 避免使用select * from t,而是用具体的字段列表代替“*”,不要返回用不到的任何字段。

并发与事务

注意处理并发访问数据库的情况,以确保数据的一致性和完整性。

使用事务来确保数据库操作的原子性和一致性。事务可以将多个操作作为一个整体执行,要么全部成功,要么全部失败。

安全管理

  • 做好数据库安全管理,包括给数据库设置密码、限制访问权限、定期更新数据库软件等措施,以防止未经授权的访问和数据泄露。
  • 清理无用的数据库用户,并对已被锁定的内置用户进行评估,以确定是否在生产环境中使用。
  • 严格用户角色管理,防止权限授予过高,并收回用户中不需要的角色。

备份与恢复

  • 数据库应该定期备份,以防止数据丢失。备份也可以帮助恢复数据,修复数据库中的错误。
  • 备份表、临时表,进行规范化模式管理,并将临时表、备份表进行独立的schema存储管理。

系统资源

  • 合理分配系统资源,如合理设置数据库连接池大小、内存分配、线程池大小和并发连接数等,以根据实际需求和硬件配置来优化系统性能。 
  • 合理设置缓存和缓冲区的大小和算法,提高数据的访问速度和命中率。

查询与索引

避免全表扫描和不必要的连接操作,使用合适的查询条件和关联条件来限定查询范围。

尽量避免更新clustered索引数据列,因为这可能导致整个表记录的顺序调整,耗费大量资源。

表管理

  • 将为完成某一个系统或模块而设计的表存储在同一个schema中,不能将其他用途的数据表混合存储。
  • 避免频繁创建和删除临时表,以减少系统表资源的消耗。
  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值