【Mysql】数据库的基本操作和表的基本操作

news2024/11/26 8:35:00

本章内容是,用sql语言实现对数据库的基本操作和表的基本操作

文章目录

  • 前言
  • 1. 数据库的基本操作
    • 1.1 创建数据库
    • 1.2 查看数据库
    • 1.3 选中数据库
    • 1.4 删除数据库
  • 2. 数据库基本数据类型
  • 3. 表的基本操作
    • 3.1 创建表
    • 3.2 显示数据库中的表
    • 3.3 查看表的构造
    • 3.4 删表
  • 4. 表的增删改查
    • 4.1 增加数据
    • 4.2 删除数据
    • 4.3 查询数据
    • 4.4 数据库运算
      • 4.4.1 比较运算符
      • 4.4.2 逻辑运算符
    • 4.5 更新数据


前言

sql语句这里知识点不难,但是很多,需要时常练习复习,否则很快就忘了.大家可以收藏本篇文章,时时巩固复习.打开你的Mysql,我们开始啦~


1. 数据库的基本操作

1.1 创建数据库

  1. 创建数据库的语句
create  database 数据库名;

如下图,显示OK,就是创建好了.
分号" ; " 是一条sql语句结束的标志.
在这里插入图片描述
2. 创建数据库是不允许出现重名数据库的,所以,这里有创建数据库时,防止名字重复的创建数据库语句.若是输入已经存在的名字,系统不会报错,只是不会执行该数据库创建语句.

create database if not exists 数据库名

如下图
在这里插入图片描述
3. 创建数据库时指定字符集
数据库中,一个汉子占几个字节取决于字符集.我们数据库通常使用utf-8字符集,utf-8中,汉子一般占3字节,支持各种语言文字,但utf-8不能表示表情,utf8b4可以表示表情

create database 数据库名 charset utf8;

在这里插入图片描述

1.2 查看数据库

我们来看看自己有哪些数据库吧~
展示数据库语句.注意后面的databases,要变复数.

show databases;

如下图
在这里插入图片描述

1.3 选中数据库

我们要对数据库中的表进行操作时,首先要选中数据库.

use 数据库名;

如下图
在这里插入图片描述

1.4 删除数据库

首先,这是一个非常危险的操作,尤其是生产环境的数据库,一旦删除重要信息,可能会造成很严重的损失.
删库语句

drop database 数据库名;

如图,一定要谨慎!!!
在这里插入图片描述

2. 数据库基本数据类型

数据字母不区分大小写
以下为常用数据结构介绍.由于decimal无精度丢失,所以可以用来表示钱数.
varchar(SIZE),size要考虑的是里面字符的个数,比如要记录班级同学名字,名字最长有四个字,那size为4即可.

数据类型大小对应java类型说明
int4字节Integer
float(M,D)4字节float单精度,M为指定长度,D为小数点位数,有精度丢失
double(M,D)8字节double
decimal(M,D)M/D最大值+2BigDecimal双精度,M为指定位数,D为小数点位数,无精度丢失
varchar(SIZE)size为允许字符的最多个数string常用字符串类型

3. 表的基本操作

3.1 创建表

首先,在操作表时,要指定是哪个数据库.

use 数据库名;
create table 表名(列名1 列类型, 列名2 列类型,.....)

如下图,创建了一个student表,列有学号,名字,性别.
在这里插入图片描述

3.2 显示数据库中的表

来看看自己数据库的表吧~

show tables;

在这里插入图片描述

3.3 查看表的构造

这个操作,是查看表的结构,有哪些列,列的类型是什么

desc 表名;

如下图.
在这里插入图片描述

3.4 删表

同样,这个也是极其危险的操作,删表需谨慎!!!

drop table 表名;

如下图

4. 表的增删改查

4.1 增加数据

insert into 表名 values(值1,值2....);

如下图,插入了三个数据.
字符串用单引号’',或者双引号""括起来都可以.
在这里插入图片描述
指定列插入,直插入指定的列,未被插入的列为null.

insert into 表名 (列名1,列名2) values(值1,值2);

如下图.
在这里插入图片描述

4.2 删除数据

删除数据语句

delete from 表名 where 条件;

危险操作!!!这里的删除是直接删除硬盘里的数据.
如下图,删除阿三同学的数据.
在这里插入图片描述

4.3 查询数据

1.全列查询

select * from 表名;

" * "是通配符,表示所有的列
在这里插入图片描述
注意,这个操作有一定危险性,select * 会遍历所有数据,而公司中数据库数值巨大,数据都需要从硬盘中读出来,所以硬盘容易被占满,而会影响他人对数据库的使用.

限制查询出来的语句数目,这个方法可以避免查询出来的数据过多的问题.

select * from score limit n;

在这里插入图片描述

2.指定列查询

select 列名 from表名;

如图,只看name这一列
在这里插入图片描述
3.查询时,对列进行修改
如图,在查询数学成绩时加了10,
需要注意的是,这个查询出来的是临时表,这里的改动不会对实际表有什么影响,相当于形参不改变实参的值.
在这里插入图片描述
4.查询总成绩
如图,查询三人总成绩,并给总成绩起了一个别名total.
在这里插入图片描述
5.查询时去重

select distinct 列名 from表;

如下图,去掉了语文成绩重复的数据,这里,若是指定多个列,必须这些列的值都重复,才算重复,才能去重.
在这里插入图片描述
6.查询时,对查询出来的结果进行排序

根据语文成绩进行升序排序.

select * from score order by chinese;

根据语文成绩降序排序,这里的desc指的是单词descend,下降.

select * from score order by chinese desc;

在这里插入图片描述
注意,如果排序的值有null,则null视为最小的值.
null与任何值进行运算都是null;这里的任何运算包括逻辑运算和算术运算.如下图,
chinese + null = null.
在这里插入图片描述
注意:多列排序时,先以第一列为主,若第一列值相等,再比较第二列.方法与比较字符串大小类似.
7.条件查询.

select * from score where 条件;

如下图,查询语文成绩大于80的同学.
在这里插入图片描述

4.4 数据库运算

4.4.1 比较运算符

1.普通的>,<.=正常使用.注意,因为判断null == null,也等于null,为假.所以,null之间的相等判断使用运算符"<=>"

2.between 值1 and 值2;这里是闭区间 [值1,值2]
在这里插入图片描述
3.in(值1,值2,…);
只要值和可选值中的一个对应上即可.

4.is null 与 is not null
如图,查询name 不为null的数据
在这里插入图片描述
5.like 模糊匹配
“阿%” 代表只要以阿开头的字符串即可匹配,"%“可代表任意一个字符串,空也可以
“阿_” 代表阿后面有一个字符的可以匹配,”_"代表有一个字符.
“_阿” 代表阿前面有一个字符的可以匹配
“%阿%” 代表包含阿即可

4.4.2 逻辑运算符

1.and,是逻辑中的与&&
2.or,是逻辑中的或||
3.not,是逻辑中的非!
实例如下图
在这里插入图片描述
在这里插入图片描述

4.5 更新数据

这里的更新数据,是直接修改硬盘里的数据,持久生效.

update 表名 set 列名 where 条件;

如下图,修改阿恒同学的数学成绩.
在这里插入图片描述
使用表达式进行修改

update 表 set 表达式 where 条件;

如下图,给摆烂的同学数学成绩加10分.加分,谁摆烂给谁加,看谁还卷我o(╥﹏╥)o
在这里插入图片描述
修改多个列
如图,继续支持摆烂同学,给摆烂同学的语文和英语成绩加10 摆烂同学还是没及格,适当摆烂,有益身心健康
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用synchronized 加锁你加对了么?

本文讲解使用synchronized只是对synchronized的使用,底层原理将在后续文章 目录 从实际中理解共享带来的问题 Java代码实现共享带来的问题进行分析 临界区(Critical Section) 与 竞态条件(Race Condition) 临界区 竞态条件 synchronized解决方案 怎么理解synchronized中…

【web前端期末大作业】基于HTML+CSS+JavaScript实现代理商销售管理系统后台(8页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

mathtype在word内的简单使用

一、简单使用 1、快捷键 快捷键说明ctrlaltQ行内公式altshiftQ右编号&#xff08;行间公式&#xff09;\ ;{空格、大括号都需要转义ALTF4关闭mathtype窗口 2、小技巧 \left与\right 一定要配对使用&#xff0c;且对于对称的符号&#xff08;如(), {}等&#xff09;来说&…

【Linux】---进程控制(创建、终止、等待、替换)

文章目录进程创建fork()进程退出进程退出场景进程退出方法退出码exit、_exit进程等待进程等待的方法waitwaitpid阻塞和非阻塞进程替换替换的原理替换所用到的函数execlexeclpexecle简易的shell进程创建 fork() fork函数在之前的文章中也已经提到过了。其主要作用是从已存在的…

excel提示stdole32.tlb的解决方法

大家在使用excel时有遇到stdole32.tlb错误提示吗&#xff1f;出现这个问题直接导致excel无法启动&#xff0c;非常影响用户的工作效率。为了顺利解决问题&#xff0c;小编给大家带来了详细的解决办法&#xff0c;希望可以帮到你。 win7系统打开excel提示stdole32.tlb的解决方法…

Nosql inject注入

0x00 Nosql inject 最近主要在看那个 YApi 的注入漏洞&#xff0c;也是一个 mongodb的注入 所以来写一下这个东西&#xff0c;其实现在越来越常见的Nosql注入 感觉很多分布式和一些新的系统已经大量使用这种nosql数据库&#xff0c;这个注入和传统的关系型数据库有一点点不同…

【Hack The Box】linux练习-- Meta

HTB 学习笔记 【Hack The Box】linux练习-- Meta &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月27日&#x1f334; &#x1f36d…

[附源码]计算机毕业设计springboot“科教兴国”支教门户网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

复旦MBA项目GNW海外课程|连线全球顶尖商学院,跨时空学习精彩无限!

10月下旬&#xff0c;复旦MBA为期一周的GNW海外课程落下帷幕&#xff0c;复旦在职MBA的同学们通过云端连线&#xff0c;走进全球多所顶级商学院&#xff0c;与深谙商道、学术造诣深厚的教授学者&#xff0c;以及来自不同地域不同文化背景的精英学生取经论道。      复旦MBA…

深入理解死锁问题

死锁问题&#x1f3de;️1. 死锁概念&#x1f301;2. 为什么发生死锁&#x1f320;3. 产生死锁的条件&#x1f301;4. 如何避免死锁&#x1f4d6;4.1 循环等待&#x1f4d6;4.2 持有并等待&#x1f4d6;4.3 非抢占&#x1f4d6;4.4 互斥&#x1f33f;5. 通过调度避免死锁&#…

【Python开发】一文详解Flask-Login

一文详解Flask-LoginFlask-Login 为 Flask 提供用户会话管理。它处理登录、注销和长时间记住用户会话等常见任务。 Flask-Login 不绑定到任何特定的数据库系统或权限模型。唯一的要求是您的 用户对象实现一些方法&#xff0c;并且您向能够 从用户 ID 加载用户 的扩展提供回调。…

Kotlin 开发Android app(十二):Android布局FrameLayout和ViewPager2控件实现滚动广告栏

在上一节中我们简单的介绍了RecyclerView 的使用&#xff0c;他是整个开发的重点控件&#xff0c;这一节我们来看看FrameLayout 布局结合ViewPager2&#xff0c;开发一个广告控件。 新模块banner 先创建一个新的模块&#xff0c;取名为banner&#xff0c;用来创建我们的滚动广…

Spring Boot自定义Namespace

Spring Boot 自定义Namespace 在学些Spring Boot 自定义Namespace之前&#xff0c;先来看一个简单的案例。在Spring Boot出现之前&#xff0c;所有的bean都是在XML文件的格式 中定义。为了管理方便&#xff0c;一些大型复杂的应用系统&#xff0c;通常定个多个xml文件来共同满…

【笑小枫的按步照搬系列】JDK8下载安装配置

笑小枫&#x1f495; 欢迎来到笑小枫的世界&#xff0c;喜欢的朋友关注一下我呦&#xff0c;大伙的支持&#xff0c;就是我坚持写下去的动力。 微信公众号&#xff1a;笑小枫 笑小枫个人博客&#xff1a;https://www.xiaoxiaofeng.com 一、安装 1、方式一&#xff1a;进入官网…

Apifox:成熟的测试工具要学会自己写接口文档

好家伙&#xff0c; 在开发过程中&#xff0c;我们总是避免不了进行接口的测试&#xff0c; 而相比手动敲测试代码&#xff0c;使用测试工具进行测试更为便捷&#xff0c;高效 今天发现了一个非常好用的接口测试工具Apifox 相比于Postman&#xff0c;他还拥有一个非常nb的功…

读《基于深度学习的跨视角步态识别算法研究》

2020 背景&#xff1a; 作为一种新兴的识别技术&#xff0c;步态识别具有在非受控、远距离、低分辨率的场景下进行身份识别的优点&#xff0c;并且步态不易改变和伪装&#xff0c;所以近年来得到的关注逐渐增多。 步态识别作为一种新兴的身份识别技术&#xff0c;可以根据人…

jsp美食管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 美食管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统采用serlvet dao bean mvc模式开发&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Myeclipse8…

ZYNQ之FPGA学习----UART串口实验

1 UART串口简介 UART串口基础知识学习&#xff1a;硬件设计基础----通信协议UART 2 实验任务 上位机通过串口调试助手发送数据给 Zynq&#xff0c;Zynq PL 端通过 RS232 串口接收数据并将接收到的数据发送给上位机&#xff0c;完成串口数据环回&#xff0c;管脚分配如下&…

软件测试的分类

这里先讲一些概念&#xff0c;改日从这里边挑几个细讲。&#xff08;给小白看的&#xff09; 按测试对象划分&#xff1a; 界面测试&#xff1a; 软件只是一种工具&#xff0c;软件与人的信息交流是通过界面来进行的&#xff0c;界面是软件与用户交流的最直接的一层&#xff…

基于二次近似(BLEAQ)的双层优化进化算法_matlab程序

参考文献如上。 双层优化问题是一类具有挑战性的优化问题&#xff0c;包含两个层次的优化任务。在这些问题中&#xff0c;下层问题的最优解成为上层问题的可能可行候选。这样的要求使得优化问题难以解决&#xff0c;并使研究人员忙于设计能够有效处理该问题的方法。尽管付出了…