• SQL基础


     DDL:数据定义   DML:数据操纵    DCL:数据控制   DQL:数据查询

    SQL不区分大小写,可以以多行书写,以 ; 结束

    注释:单行注释 --空格  ,多行注释 /*   */

    [] :表示可选部分

    DDL:数据定义

    1. -- 我是注释
    2. /*
    3. 多行注释
    4. */
    5. -- 查看数据库 show databases;
    6. show databases;
    7. -- 使用数据库 use 数据库名称;
    8. use test;
    9. -- 创建数据库 create database 数据库名称 [CHARSET UTF8];
    10. create database test charset utf8;
    11. -- 删除数据库 drop database 数据库名称;
    12. drop database week;
    13. -- 查看当前使用的数据库
    14. select database();
    15. -- 查看有哪些表 show tables ;
    16. show tables ;
    17. -- 创建表
    18. /*
    19. create table 表名称(
    20. 列名称 列类型,
    21. )
    22. 列类型:int,float,varchar(长度):文本,data:日期,timestamp:时间戳
    23. */
    24. create table student(
    25. id int,
    26. name varchar(10),
    27. age int
    28. );
    29. -- 删除表 drop table 表名称
    30. drop table student

    DML:数据操纵

    1. -- 创建数据库
    2. create database an charset utf8;
    3. -- 使用数据库
    4. use an;
    5. -- 创建表哥
    6. create table student(
    7. id int,
    8. name varchar(10),
    9. age int
    10. );
    11. -- 单条插入 insert into 表名(列1) value(值1),(值2),(值3);
    12. insert into student(id) value(1),(2),(3);
    13. -- 多条插入 insert into 表名(列1,列2...) value(值1,值2,值3),(值1,值2,值3)...;
    14. -- 注意:1) 字符串的值需要用 '' 2) 一一对应
    15. insert into student(id,name,age) value(4,'周杰伦',31),(5,'林俊杰',32);
    16. -- 删除数据 delete from 表名 【where 条件判断】
    17. delete from student where id < 3;
    18. -- 数据更新 update 表名 set 列=值 [where 条件判断]
    19. update student set name='小明' where id=4;
    20. -- 更新所有的列的值时就不需要加where
    21. update student set name='小红';

    DQL:数据查询

    1. -- 基础数据查询 select 字段列表|* from 表 【where 条件判断】
    2. select id,name,age from student; -- 查询指定列
    3. select * from singer; -- 查询全部列
    4. select * from singer where age>25; -- 条件
    5. select * from singer where gender='男'
    6. -- group by: 分组聚合
    7. -- select 字段|聚合函数 from 表 [where 条件] group by 列
    8. -- 聚合函数:sum(列),avg(列),min(列),max(列),count(列|*)
    9. select gender,avg(age),min(age),max(age),sum(age),count(*) from singer group by gender; -- 非聚合函数:group by出现哪个列,哪个列才能出现在select中的非聚合中
    10. -- order by :结果排序 asc:升序 desc:降序
    11. -- select 列|聚合函数|* from 表 where 条件 order by...[asc|desc]
    12. select * from singer where age>20 order by age asc;
    13. -- 结果分页限制
    14. -- select 列|聚合函数|* from 表 limit n[,m]
    15. select * from singer limit 1;
    16. select * from singer limit 1,2; -- 前n条跳过,取m条
    17. select age,count(*) from singer where age>20 group by age order by age limit 3;

    使用python执行SQL

    1. # 1. 安装pymysql: pip install pymysql
    2. # 2. 创建到MySQL的数据库链接:
    3. from pymysql import Connection
    4. # 获取到MySQL数据亏的链接对象
    5. conn = Connection(
    6. host='localhost', # 主机名
    7. port=3306, # 端口
    8. user='root', # 用户名
    9. password='123456789' # 密码
    10. )
    11. # 打印MySQL数据库软件信息
    12. print(conn.get_server_info())
    13. # 关闭到数据库的链接
    14. conn.close()

  • 相关阅读:
    大学生线上学习行为的聚类、成因与对策研究
    laravel系列(三) Dcat admin框架工具表单以及普通表单的使用
    MySQL进阶—索引1
    Zookeeper Java SDK 开发入门
    iNFTnews | iPhone14已来,苹果的元宇宙还有多远?
    基于NSGAII多目标遗传优化的WSN无线传感器网络最优覆盖率matlab仿真
    用户画像系列—如何从0到1建设用户画像
    掌握这些 SpringBoot 启动扩展点,已经超过 90% 的人了
    GreenPlum/PostGreSQL表锁处理
    树莓派CM4安装系统
  • 原文地址:https://blog.csdn.net/weixin_52053631/article/details/133758738