MySql的DDL和DML和DQL的基本语法

数据库是计算机中用于存储和管理数据的仓库,包括关系型数据库如MySQL、ORACLE和NoSQL数据库如redis、mongoDB。MySQL是开源免费的数据库,适合中小型网站应用。它支持创建、删除和修改数据表的SQL语句,以及数据查询语言(DQL)进行数据查询。此外,还涉及到了多表联查操作,如内连接、外连接等。
摘要由CSDN通过智能技术生成
  • 什么是数据库
    • 数据库(Database,简称DB)概念:
    • 长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据"仓库"
    • 作用:存放和管理数据
    • 分类:关系型数据库和NoSQL数据库
    • 关系型数据库
      • MySQL、ORACLE、PostgreSQL
    • NoSQL
      • redis、mongoDB
  • ------------------------------------------------------------------------------------------------
  • MySQL数据库的特点
    • 1.开源免费,小巧但功能齐全
    • 2.可在Windows和Linux系统上运行
    • 3.操作方便,适用于中小型甚至大型网站应用
  • 数据库结构
    • 1.数据库(Database):以文件的形式存放到磁盘上
    • 2.数据表(Table)
      • 由一组数据记录组成数据库中的数据是以表为单位进行组织的
    • 3.字段(Field):也称域,表中的每一列成为一个字段
    • 4.记录(Record):表中的每一行成为一个记录,由若干字段组成
    • 5.索引(Index):一种特殊类型的表,其中含有关键字段的值和指向实际记录位置的指针,提高访问效率
    • 6.SQL语句:结构化查询语句命令,对某个表执行指定的操作
  • DDL:(数据定义语言)
  •       1:定义和管理数据对象,如数据库、数据表等
  •       2:命令有:1.CREATE(创建数据库)  2 .DROP(删除数据库) 3.ALTER(修改数据库)
  •    库的操作,SQL语句不分大小写:
  • 1.显示所有的库:show databases;
  • 2.创建一个库:create database 库名;
  • 3.删除一个库: drop database 库名;
  • 4.使用库:use 库名
  • 表的操作 :
  • 1.查看库中所有的表:show tables
  • 2.建表:create table 表名(字段名 类型 属性, |tea_name varchar(10),字段名 类型 属性,|tea_sex char(1),......字段名 类型 属性 |tea_money decimal(20,1));
  • 3.查看表结构:desc 表名:
  •      show create table 表名:
  • 4.修改和删除表:

 DML(数据操作语言):1.INSERT(增加数据)(insert语句):1.语法:insert into 表名 (字段1,字段2,字段n) values(值1,值2,值n)

                                      2.  UPDATE(修改数据):update 表名 set `字段名1` = '值1' [ , `字段名2` = '值2', …. ] where 条件     条件:为筛选条件,如不指定则修改该表的所有列数据。

                                     3.DELETE(删除数据):1.语法:DELETE FROM 表名 [ WHERE 条件];

                                                                           2.“WHERE”可以通过where子句增加删除的条件。

  •                              4.删除数据(TRUNCATE语句):truncate [table] 表名

 DQL(数据查询语言):DQL(Data Query Language 数据查询语言)。用途是查询数据库数据,如SELECT语句。是SQL语句,中最核心、最重要的语句,也是使用频率最高的语句。

单表查询:针对数据库中的一张数据表进行查询,可以通过各种查询条件和方式去做相关的优化。

                 1.select * from 表名; 查询数据库表的全部字段。

                  2.select sname "姓名",birthday 生日,ssex 男,classid 班级 from student; 给一个字段取別名

                 3.select distinct ssex,classid from student; 去除重复

                 4.select * from student where ssex="男" and classid=1; 带条件的查询 where 子句。select * from student where sid between 3 and 7;

                  5.like 模糊查询 模糊符号 % 任意多的字符 _一个任意字符 

                  6.in 在特定的范围内查找:select * from student where sid in (3,6,8,9); 

                  7.null值查询 :select * from student where birthday is null;或者 is not null

                   8.where:将过滤条件放在where后面 (可以跟、数字、日期、字符串)、(逻辑运算符 > < ,between,and,or,in,like,null),可以过滤出我们想要的条件

                    9.have对聚合后的数据进行筛选,不能单独出现:select sid,avg(score) from sc group by sid having avg(score)<60;

                      10.排序:order by       1.升序 asc(默认的)2.降序 desc

                      11.分页查看:limit   1.只查看前3行数据:select * from student limit 3;

                                                        2.查询 第二页 3行数据:select * from student limit 3,3;

多表联查:多表联查可以通过连接运算实现,即将多张表通过主外键关系关联在一起进行查询

1.非等值查询 二者共有的数据:select * from student , class where student.classid=class.classid; 查询学生和班级共有的数据

2.等值查询:select * from student,class

3.left jion on 左外联:select * from student left join class on student.classid=class.classid;

4.right join on 右外联:select * from class right join student on student.classid=class.classid;

5.innner join on on后面跟判断条件:select * from student inner join class on student.classid=class.classid;查询学生和班级共有的数据

6.select * from student where exists (select * from student where ssex='男')从学生表中取出学生的信息,(如果该性别下没有男学生则不显示)

子查询 from:查询每个班级的人数

select classname ,a from class left join (
select classid , count(*) a from student group by classid )t
on class.classid =t.classid;

每个班下Id最大的学生  子查询:

select * from student where sid in (select max(sid) from student group by classid);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值