数据库基本语句

article/2025/11/7 13:27:25

用DOS命令窗口操作数据库

启动数据库:mysql -u用户名 -p密码

在这里插入图片描述

当出现这个窗口意味着启动成功!

DDL语句

数据库操作语句

  1. 查询当前所有数据库名称:show databases;
  2. 创建数据库:create database 数据库名;
  3. 如果不存在创建一个新的数据库:create database if not exists 数据库名;
  4. 删除数据库:drop database 数据库名;
  5. 判断删除(如果存在就删除):drop database if exists 数据库名;

数据库表操作语句

创建表之前要先声明给哪个数据库创建:use 数据库名;

  1. 创建表:
    create table 表明(列名1 字段类型,列名2 字段类型…);

  2. 查看数据库中所有表:show tables;

  3. 查看当前表的结果:desc 表名:

  4. 修改中文乱码:alter database 数据库名 default character set 字符集;

  5. 添加一个新的列:名:alter table 表名 add 列名 字段类型;

  6. 修改表字段名称:alter table 表名 change 旧列名 新列名 字段类型;

  7. 修改表字段类型:alter table 表名 modify 列名 字段类型;

  8. 修改表名:alter table 当前表名 rename to 新的表名;

  9. 删除表中某个列:alter table 表名 drop 列名;

  10. 删除表:drop table 表名;/drop table if exists 表名;

  11. 复制表:create table 新表名 like 其他表名;

DML语句

操作表中记录

给表中插入数据:
方式一:默认全部插入数据
insert into 表名 values(值1,值2,值3…);
方式二:部分插入
insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);

带条件修改表中记录:
update 表名 set 字段名称=值 where 条件语句;
eg:update student set name=‘张三’ where id=1;(把id是1的学生名改为张三)
批量修改:update 表名 set字段名称;

删除表中记录:
删除表:delete from 表名;
带条件删除:delete from 表名 where 条件;

delete和truncate的区别?

delete from 表名:删除全表中记录,针对自增长主键的字段不受影响,1,2,3下一次从4开始增长;
truncate from 表名:删除一张表,在复制一张一模一样的表,针对自增长主键字段置空,下一次插入数据从1开始一直自增。

DQL语句

对表的查询语句
基本查询:select * from 表名;
指定查询:select 列名1,列名2 from 表名;
查询字段的时候去重:select distinct 字段 from 表名;

给字段起名字(as)也可以省略:
select name (as)‘姓名’,sex ‘性别’ from 表名;

条件查询:查询年龄大于20的姓名和年龄
select name,age from student where age>20;

范围查询:查询年龄在20到30的学生
select * from student where age between 20 and 30;

查询多个数据用in(类似于集合数据)
select * from student where age in(18,28,30)

模糊查询:关键字like
select * from 表名 where 字段名称 like ‘占位符号’;
%—>包含的字符,相当于一个字符
_ 代表单个字符
eg:’%张%’ 名字里有张的
'马_'姓马,名字里有两个字符

排序:
select * from 表名 order by 字段名称 默认升序排序;
ASC 升序 DESC 降序

分组查询:group by
select sex,count(id)from student group by sex;按性别分组

分页查询:limit
select * from 表名 limit 起始行数,每页显示条数
起始行数=(当前页码数-1)也就是索引值 * 每页显示条数

筛选:having
可跟聚合函数

select 分组字段,聚合函数from 表名where 条件	//1group by 分组字段	//2having 聚合函数 符合什么条件;	//3

having和group by的区别

group by 之前先执行where条件语句,后面才是分组,having放在group by 之后(先后顺序问题);group by 后面跟的是分组得我字段,不能使用聚合函数;而having 后面可以使用聚合函数。


http://chatgpt.dhexx.cn/article/WdD4EfZw.shtml

相关文章

数据库常用操作语句总结

数据库常用操作语句总结 一、基础1.select 语句2.select distinct 语句3.where 子句4.and 和 or 运算符5.order by 语句6.insert into 语句7.update 语句8.delete 语句 二、高级1.top 子句2.like 操作符3.SQL 通配符4.in 操作符5.between 操作符6.as 别名7.join 表关联8.sql un…

java 数据结构--堆

1.堆的基本定义 二叉树的两种结构,一种是链式结构,一种就是顺序结构,普通二叉树其实是不适合用数组来存储数据,因为会造成大量空间的浪费,但完全二叉树似乎更合适于顺序结构存储,我们通常把堆(完全二叉树) 使用顺序数组来存储。 堆: (1&…

Java实现堆(最大堆)

1、什么是堆 现在有这么一个需求,设计一个结构,满足两个操作要求: 删除时,返回该结构的最大值或者最小值的元素往结构中新增元素 问题:如何组织优先这种结构? 一般数组、链表?有序数组或者链…

五、Java堆

Java堆 对于Java应用程序来说,Java堆 是虚拟机所管理的内存中最大的一块。堆,是被所有线程共享的一块内存区域,在虚拟机启动时创建。堆,唯一的目的就是存放对象实例,Java世界中“几乎”所有的对象实例都是在这里分配内…

java中的堆实现

java中的堆实现 完全二叉树:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部。即除了最后一层,其他层的节点个数都是满的,而且最后一层的叶子节点必须靠左。 如图: 二叉堆:必须是完…

[JAVA数据结构]堆

目录 1.堆的概念 2.堆的创建 3.堆的插入与删除 3.1堆的插入 3.2堆的删除 1.堆的概念 如果有一个关键码的集合K {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,…

堆的Java实现

一.概念 堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象。 堆的特性: 它是完全二叉树,除了树的最后一层结点不需要是满的,其它的每一层从左到右都是满的,如果最后一层结点不是…

堆的创建---java

目录 1、堆的概念 2.堆的存储方式 3、堆的创建 3.1、堆向下调整 3.2、堆的创建 1、堆的概念 如果有一个关键码的集合K {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中&…

【堆】堆的实现(Java)

今天学习堆这种数据结构。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个结点的值总是不大于或不小于其父结点的值;堆总是一棵完全二叉树。 将根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆…

Java之堆和堆排序

目录 一.什么是堆 1.基本介绍 2.堆的实现方式 二.最大堆的实现 1.最大堆 2.思路分析 0.基础操作 1.添加上浮操作 2.删除下沉操作 3.将数组堆化操作 2.代码实现 三.堆排序 1.什么是堆排序 2.思路分析 3.代码实现 一.什么是堆 1.基本介绍 堆是一种数据结构&#…

六、Java堆

一、堆的核心概述 1、概述 1、堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。 2、一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 3、Java堆区在JVM启动…

Java数据结构-堆

目录 一、简介二、堆的实现(1)堆的插入(2)删除根节点(3)上浮操作① 大根堆的上浮② 小根堆的上浮 (4)下沉操作① 大根堆的下沉② 小根堆的下沉 (5)堆的构造&a…

JVM JAVA中的堆

堆的核心概述: 一个进程对应一个JVM的实例,一个JVM实例中只有一个运行时数据区,里面只有一个方法区和堆,一个进程的多个线程共享方法区和堆,那就要考虑线程的安全问题。 每个线程各有一套程序计数器、本地方法栈、虚拟…

Java堆是如何划分的?

写在前面 本文隶属于专栏《100个问题搞定Java虚拟机》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定Java虚拟机 解答 Java 虚拟机将堆划分为…

数据结构-堆和堆的Java实现

1. 定义 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。 堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 1.堆中某个节点的值总是不大于或不小于其父节点的值; 2.堆总是一棵完全二叉树。 常见的堆有二…

Java数据结构之堆(Heap)

文章目录 一、基本概念二、上浮操作(siftUp)三、下沉操作(siftDown)四、数组堆化五、实现大根堆 提示:以下是本篇文章正文内容,Java系列学习将会持续更新 一、基本概念 堆在逻辑上就是一棵完全二叉树。堆在物理上是储存在数组中。满足任意根节点值>…

JVM--堆

45. JVM--堆 1. 堆的核心概述 一个进程对应一个JVM的实例,一个JVM实例中只有一个运行时数据区,里面只有一个方法区和堆,一个进程的多个线程共享方法区和堆,那就要考虑线程的安全问题。 每个线程各有一套程序计数器、本地方法栈、虚…

java中的堆

文章目录 一、堆的分类二、详述Java堆中各个区域1、堆大小2、新生代 ( Young ) 的划分3、工作原理4、GC日志 一、堆的分类 Java 中的堆是 JVM 管理的最大的一块内存空间,主要用于存放Java类的实例对象 其被划分为两个不同的区域:新生代 ( Young )和老年…

Java数据结构--堆

一.堆的定义及本质 要知道在Java中,堆是以优先级队列来表示的。因此学会了堆,我们也就学会优先级队列 1.堆的定义 当一颗二叉树的每个节点都大于等于它的两个子字节时,它被称为堆有序。而堆是一组能够用堆有序的完全二叉树排序的元素&…

Java数据结构之堆

堆的概念 堆逻辑上是一棵完全二叉树堆物理上是保存在数组中满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆反之,则是小堆,或者小根堆,或者最小堆堆的基本作用是快速找集合中的最…