【MYSQL学习笔记】管理MYSQL和使用MYSQL语句

一、前言

MySQL提供了大量的SQL语句用于管理。很多时候,通过SSH远程连接时,只能使用SQL命令,所以,了解并掌握常用的SQL管理操作是必须的。

二、管理MYSQL

输入SQL后,记得加一个;,再回车执行该语句。虽然有些不需要,但是MYSQL里面,select不加;则会让客户端继续等待输入。如果在图形界面或则会程序开发中集成则不用加;

2.1 创建数据库

create database test;

2.2 删除数据库

drop database test;

*注意:如果删除数据库,其所有表会被删除。

所以在删除数据库的时候,要先切换为当前数据库,然后在删除。

use test;

2.3 表相关操作

2.3.1 查看所有表

show tables;

2.3.2 查看表结构

desc students;

2.3.3 查看创建表

show create table students;

2.3.4 创建和删除表

create table students;

drop table students;

2.3.5 修改表

//修改表会更复杂一些

//给表students添加一列birth

alter table students add column birth varchar(10) not null;

//修改birth列,改为birthday,类型改为varchar(20)

alter tabble students change cloumn birth birthday varchar(20) not null;

//删除列birthday

alter table students drop cloumn birthday;

2.3.6 退出MYSQL

exit;//仅断开客户端和服务器的连接,服务器仍继续运行。

三、实用的SQL语句

3.1 插入或替换

insert则如果有存在则需要删除,再插入。

如果replace则不必先先查询,再决定是否先删除后插入。

replace into students(id,class_id,name,gender,score)values(1,1,‘XM’,‘F’,99)

//若id=1,先删除后再插入新记录。不然则,用replace插入新记录。

3.2 插入或更新

如果记录存在,则更新记录,可以使用insert into …on duplicate key update…

insert into students(id,class_id,name,gender,score)values(1,1,‘XM’,‘F’,99) on duplicate key update name='小明‘,gender=‘F’,score=99;

//id=1 记录被更新,更新字段由update指定。否则,id=1不存在,insert将插入新记录。

3.3 插入或忽略

语法:insert ignore into

如果存在则忽略,什么也不做。如果存在不存在则插入一条。

insert ignore into students(id,class_id,name,gender,score)values values(1,1,‘XM’,‘F’,99);

3.4 快照

复制一份表,则可以使用create table和select。创建的表和查询表,结构一致。

create table classstudent1 select *from students where class_id=1;

3.5 写入查询结果集

语法:insert + select

insert into static(classid,average) select classid,avg(score) from students group by class_id;

3.6 强制使用制定索引

查询的时候回自动选择索引,但不一定是最优。如果知道如何选择索引,那么可以强制使用索引。

语法:force index,前提是使用的索引要存在。

案例:select * from students force index (idxclass_id) where classid=1 order by id desc;

四、参考文章

管理MYSQL
实用MYSQL语句

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

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

相关文章

Matlab图像处理-图像旋转

基本概念 图像的旋转变换属于图像的位置变换,通常是以图像的中心为原点,将图像上的所有像素都旋转一个相同的角度。旋转后,图像的大小一般会改变。图像的旋转变换是指以图像的中心为原点,将图像上的所有像素都旋转同一个角度的变…

MFA 与 ADSelfService Plus 的身份验证!

随着信息技术的不断进步,网络威胁也在不断演化。为了保护敏感数据和网络资源,企业和组织需要采取更多的安全措施。多重因素认证(MFA)已经成为了现代安全战略的核心组成部分之一。在这篇文章中,我们将深入探讨MFA&#…

AUTOSAR规范与ECU软件开发(实践篇)7.4 MCAL模块配置方法及常用接口函数介绍之Port的配置

目录 1、前言 2 、Port模块 (1) Port General配置 (2) PortConfigSet配置

Java-API简析_java.io.FilePermission类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/132594530 出自【进步*于辰的博客】 因为我发现目前,我对Java-API的学习意识比较薄弱…

ubuntu系统安装tensorRT-8.6.1版本(2023-8月最新版)

目录 前言pip安装可能出现的报错: tar.gz安装 前言 看了无数教程和b站视频,啊啊啊啊啊啊啊啊啊啊啊tensorRT要我狗命啊。我要写全网tensorRT最全的博客!!! 总体来说成功安装方式有两种,pip安装和tar.gz安装(其实官网安装方式居多…

腾讯云服务器镜像TencentOS Server有用过的吗?

腾讯云服务器镜像TencentOS Server操作系统有用过的吗?踩过坑吗?TencentOS性能和稳定性如何?TencentOS Server与CentOS保持兼容,在稳定性、性能、容器基础设施等核心能力方面做了全面的增强和优化,能为企业提供稳定高可…

Python基础算法——反转链表

视频详解:https://www.bilibili.com/video/BV1sd4y1x7KN/?spm_id_from333.788&vd_source11069f01f7471094186b646e3a184ca3 一、反转链表 LeetCode 206题:https://leetcode.cn/problems/reverse-linked-list/description/ 给你单链表的头节点 h…

NTP时钟同步服务器

目录 一、什么是NTP? 二、计算机时间分类 三、NTP如何工作? 四、NTP时钟同步方式(linux) 五、时间同步实现软件(既是客户端软件也是服务端软件) 六、chrony时钟同步软件介绍 七、/etc/chrony.conf配置文件介…

JAVA中,继承父类和重写父类方法有什么区别?

在Java中,继承和重写都是面向对象编程的重要概念,但它们有着完全不同的作用: 继承:继承是对象之间的一种关系,子类(派生类)会继承父类(基类)的属性(成员变量&…

C++11 std::transform函数使用说明

std::transform是C标准库中的一个算法,它用于对输入范围内的元素进行操作,并将结果存储在输出范围内。这个算法特别适合于将一种数据类型转换为另一种数据类型。 函数定义在头文件algorithm中 std::transform的基本语法如下: std::transfor…

26.仪表板侧边栏菜单

效果 源码 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Sidebar Menu</title> <link rel="stylesheet" type="text/css"…

【Tkinter系列06/15】菜单小部件

15. 小部件Menu “下拉菜单”是一种流行的方式 为用户提供多种选择&#xff0c;但占用 应用程序表面的最小空间&#xff0c;当 用户没有做出选择。 菜单按钮是 始终显示在应用程序上。 菜单是选项列表 仅在用户单击 菜单按钮。 要选择一个选项&#xff0c;用户可以将鼠标从 菜…

go 协程

golang中的并发是函数相互独立运行的能力。Goroutines是并发运行的函数。Golang提供了 如何实现go协程 只需要在函数前面加上go即可 go task()package mainimport ("fmt""time" )func show(msg string) {for i : 0; i < 5; i {fmt.Printf("msg: …

微服务学习资料

文章目录 参考资料一. 微服务概述1. CAP理论2. BASE理论3. SpringBoot 与 SpringCloud对比 二. 服务注册&#xff1a;Zookeeper,Eureka,Nacos,Consul1. Nacos两种健康检查方式&#xff1f;2. nacos中负责负载均衡底层是如何实现的3. Nacos原理4. 临时实例和持久化(非临时)实例 …

第三届计算机、物联网与控制工程国际学术会议(CITCE 2023)

第三届计算机、物联网与控制工程国际学术会议&#xff08;CITCE 2023) The 3rd International Conference on Computer, Internet of Things and Control Engineering&#xff08;CITCE 2023) 第三届计算机、物联网与控制工程国际学术会议&#xff08;CITCE 2023&#xff09;…

相同二叉树判断

目录 题目题目要求示例 解答方法一、实现思路时间复杂度和空间复杂度代码 方法二、实现思路时间复杂度和空间复杂度代码 题目 相同二叉树判断 题目要求 题目链接 示例 解答 方法一、 递归 实现思路 如果两棵树从根结点一起访问&#xff0c;当有一个结点不相等时就返回f…

自动化运维工具—Ansible

一、Ansible概述1.1 Ansible是什么1.2 Ansible的特性1.3 Ansible的特点1.4 Ansible数据流向 二、Ansible 环境安装部署三、Ansible 命令行模块&#xff08;1&#xff09;command 模块&#xff08;2&#xff09;shell 模块&#xff08;3&#xff09;cron 模块&#xff08;4&…

【Tkinter系列07/15】小部件Message、下拉菜单、移动窗

17. 小部件Message 此小部件类似于小部件 &#xff08;请参见第 12 节 “标签小部件”&#xff09;&#xff0c;但它适用于 在多行上显示消息。所有文本将 以相同的字体显示;如果需要显示文本 使用多种字体&#xff0c;请参见第 24 节 “文本小部件”。Label 创建新构件作为子…

【Android】关于binder_calls_stats服务

Android 9上有了binder_calls_stats服务&#xff0c;提供了java层的binder统计&#xff0c; Android中的Binder Call Stats&#xff08;Binder调用统计&#xff09;是一项用于监控和记录Android系统中Binder通信的统计信息的功能。Binder是Android中的一种进程间通信&#xff…

Linux安装Portainer(简洁版)

项目简介Docker安装 1.安装命令&#xff1a;curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun2.启动&#xff1a;systemctl start docker3.停止&#xff1a;systemctl stop docker4.重启&#xff1a;systemctl restart docker5.开机启动&#xff1a;system…