当前位置: 首页 > news >正文

【SQL】mysql常用命令

为方便查询,特整理MySQL常用命令。

约定:$后为Shell环境命令,>后为MySQL命令。

1 常用命令

第一步,连接数据库。

$ mysql -u root -p               # 进入MySQL bin目录后执行,回车后输入密码连接。# 常用参数:-h 服务器地址,-u 用户名,-p 密码,-P 端口

然后是一些常用的命令。
数据库操作:

1 > create database dbname;                    # 创建数据库,数据库名为dbname
2 > CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  
# 创建test数据库,并指定字符集
3 > show databases;                            # 显示所有数据库
4 > alter database character set utf8;         # 修改数据库字符集
5 > use test;                                # 选择test数据库
6 > status;                                    # 查看当前选择(use)的数据库
7 > drop database test;                        # 删除test数据库
8 > truncate 表名;          # 快速清空表内容(数据量太大用deleter慢,可以用truncate)
9 > delete from 表名;                          # 清空表内容

数据表操作:

1 > show tables;                               # 显示所有表
2 > describe tablename;                        # 表结构详细描述
3 > desc tablename;                            # 同 describe 命令一样
4 > create table newtable like oldtable;       # 复制表结构
5 > insert into newtable select * from oldtable;  #复制表数据
6 > rename table tablelname to new_tablelname  # 重命名表,同时命名多个表用逗号“,”分割
7 > drop table tablename;                      # 删除表

界面操作:

> select version(),current_date;             # 显示当前mysql版本和当前日期
> exit     

2 创建数据表

create table命令用来创建数据表,格式:

create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);

数据的类型之后还可以包含:数据宽度 + 是否为空 + 是否主键 + 自动增加 + 默认值,它们书写时不限顺序。但是字段名和字段类型必须是第一和第二位。例如,建立一个名为user的表:

mysql> create table user(-> id int(4) not null primary key auto_increment,-> name char(20) not null,-> sex int(4) not null default '0',-> degree double(16,2)-> );

3 修改root的密码

$ mysqladmin -u root password                     # 原始密码为空的情况
New password: <输入新的密码>
Confirm new password: <再次输入新密码>$ mysqladmin -u root -p password                  # 原始密码不为空的情况
Enter password: <输入旧的密码>
New password: <输入新的密码>
Confirm new password: <再次输入新密码>$ mysqladmin -uroot -p123456 password             # 原始密码不为空的情况,效果和第二种方法一样,只是显式的输入了原始密码
New password: <输入新的密码>
Confirm new password: <再次输入新密码>

4 备份和恢复

$ mysqldump -u root -p dbname > dbname.sql                        # 备份整个数据库(包含表结构和数据)
$ mysqldump -u root -p -d dbname > dbname.sql                     # 备份数据库表结构,不包含数据,
$ mysqldump -u root -p dbname tablename > tablename.sql           # 备份数据库中的某张数据表(包含表结构和数据)
$ mysqldump -u root -p dbname tablename1 tablename2 > tables.sql  # 备份数据库中2张数据表
$ mysqldump -u root -p -d dbname tablename > tablename.sql        # 备份数据库中的某张数据表的表结构(不含数据)$ mysqladmin -u root -p create dbname       # 恢复数据库步骤1:创建数据库
$ mysql -u root -p dbname < dbname.sql      # 恢复数据库步骤2:恢复数据

如果是网络上的服务器,可以在mysqldump之后用-h指定服务器地址,例如:

$ mysqldump -h sql.domain.com -u root -p dbname > dbname.sql

导出查询结果到本地计算机:

mysql -h127.0.0.1 -P3306 -uroot -proot -Ae "use test;select * from user where status=4 order by id desc;" > "C:\Users\Gary\user.txt"

5 用户和权限管理

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:

> CREATE USER username IDENTIFIED BY '123456';        # 其中,username是用户名,123456是用户密码

新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令是grant,格式为:

GRANT <权限> ON <数据库>.<表名> TO <用户名>@<登录主机> IDENTIFIED BY "<密码>"

其中,权限可以是:allselectinsertdeleteupdatedrop等值。

于是,用下面的命令就可以执行特定的功能:

> GRANT ALL ON *.* TO 'username'@'localhost' IDENTIFIED BY '123456';                  # 给用户 username 分配所有数据库的所有权限
> REVOKE ALL ON *.* FROM 'username'@'localhost';                                      # 如果觉得上面的权限太大,用 REVOKE 删除原来权限
> GRANT ALL ON dbname.* TO 'username'@'localhost' IDENTIFIED BY '123456';             # 重新授予仅在dbname数据库上的权限
> GRANT SELECT, UPDATE ON dbname.* TO 'username'@'localhost' IDENTIFIED BY '123456';  # 仅授予select、update权限,无法执行insert、delete等命令
> FLUSH PRIVILEGES;                                                                   # 每当调整权限后,通常需要用这个命令刷新权限
> DROP USER username@localhost;                                                       # 删除用户

仔细观察上面几个命令,可以发现不管是授权,还是删除授权,都要指定响应的host(即@符号后面的登录主机,主机也可以用%通配符表示所有主机,或者192.168.1.% 表示特定主机段)。因为以上及格命令实际上都是在操作 mysql 数据库中的user表,可以用如下命令查看相应用户及对应的host:

SELECT user, host FROM user;

当然,这个表中还包含很多其它例如用户密码、权限设置等很多内容,操作时候尤其需要小心。

相关文章:

【SQL】mysql常用命令

为方便查询&#xff0c;特整理MySQL常用命令。 约定&#xff1a;$后为Shell环境命令&#xff0c;>后为MySQL命令。 1 常用命令 第一步&#xff0c;连接数据库。 $ mysql -u root -p # 进入MySQL bin目录后执行&#xff0c;回车后输入密码连接。# 常用参数&…...

阿里云引领智算集群网络架构的新一轮变革

阿里云引领智算集群网络架构的新一轮变革 云布道师 11 月 8 日~ 10 日在江苏张家港召开的 CCF ChinaNet&#xff08;即中国网络大会&#xff09;上&#xff0c;众多院士、教授和业界技术领袖齐聚一堂&#xff0c;畅谈网络未来的发展方向&#xff0c;聚焦智算集群网络的创新变…...

几何合理的分片段感知的3D分子生成 FragGen - 评测

FragGen 来源于 2024 年 3 月 25 日 预印本的文章&#xff0c;文章题目是 Deep Geometry Handling and Fragment-wise Molecular 3D Graph Generation&#xff0c; 作者是 Odin Zhang&#xff0c;侯廷军&#xff0c;浙江大学药学院。FragGen 是一个基于分子片段的 3D 分子生成模…...

Python爬虫下载新闻,Flask展现新闻(2)

上篇讲了用Python从新闻网站上下载新闻&#xff0c;本篇讲用Flask展现新闻。关于Flask安装网上好多教程&#xff0c;不赘述。下面主要讲 HTML-Flask-数据 的关系。 简洁版 如图&#xff0c;页面简单&#xff0c;主要显示新闻标题。 分页&#xff0c;使用最简单的分页技术&…...

监控易监测对象及指标之:全面监控华为FusionInsight服务

随着大数据技术的广泛应用&#xff0c;华为FusionInsight以其卓越的性能和稳定性&#xff0c;成为了众多企业处理和分析海量数据的首选平台。然而&#xff0c;为了确保FusionInsight服务的持续稳定运行&#xff0c;对其进行全面监控至关重要。本文基于监控易工具&#xff0c;对…...

SQL面试题——蚂蚁SQL面试题 会话分组问题

会话分组问题 这里的分组不是简单的分组,而是会话的分组。 比如说,进入一个网站以后,可以连续的点击很多个页面,后台会记录用户的行为日志; 如果T日上午连续点击几个页面后退出了网站,直到第二天的下午才再次进入网站,单单从时间线上来看,昨天退出的那条日志跟今天进…...

nfs服务器--RHCE

一&#xff0c;简介 NFS&#xff08;Network File System&#xff0c;网络文件系统&#xff09;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计 算机&#xff08;不同的计算机、不同的操作系统&#xff09;之间通过TCP/IP网络共享资源&#xff0c;主要在unix系…...

React--》如何高效管理前端环境变量:开发与生产环境配置详解

在前端开发中&#xff0c;如何让项目在不同环境下表现得更为灵活与高效&#xff0c;是每个开发者必须面对的挑战&#xff0c;从开发阶段的调试到生产环境的优化&#xff0c;环境变量配置无疑是其中的关键。 env配置文件&#xff1a;通常用于管理项目的环境变量&#xff0c;环境…...

Javascript高级—函数柯西化

函数柯西化&#xff08;经典面试题&#xff09; // 实现一个add方法&#xff0c;使计算结果能够满足如下预期&#xff1a; add(1)(2)(3) 6; add(1, 2, 3)(4) 10; add(1)(2)(3)(4)(5) 15;function add() {// 第一次执行时&#xff0c;定义一个数组专门用来存储所有的参数var…...

Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?

Sql进阶 一、问题描述二、解决思路<一>、拆成多行<二>、拆成多列 三、代码实现 一、问题描述 Oracle数据库中某个字段value是CLOB类型,存的是csv格式的数据,如下所示 classnovalue1name,age,sex,… ‘李世民’,20,‘M’,…’ ‘李治’,18,‘M’,… ‘武则天’,16…...

linux之调度管理(5)-实时调度器

一、概述 在Linux内核中&#xff0c;实时进程总是比普通进程的优先级要高&#xff0c;实时进程的调度是由Real Time Scheduler(RT调度器)来管理&#xff0c;而普通进程由CFS调度器来管理。 实时进程支持的调度策略为&#xff1a;SCHED_FIFO和SCHED_RR。 SCHED_FIFO&#xff…...

mybatis-plus: mapper-locations: “classpath*:/mapper/**/*.xml“配置!!!解释

和mybatis一样的道理&#xff01;&#xff01;&#xff01;&#xff01;如果不指定这个配置&#xff0c;通常要求 XML 映射文件和 Mapper 接口的包名和结构相同&#xff01;&#xff01;&#xff01;&#xff01; 如果没有配置 mapper-locations&#xff0c;通常文件结构应遵循…...

nacos-operator在k8s集群上部署nacos-server2.4.3版本踩坑实录

文章目录 操作步骤1. 拉取仓库代码2. 安装nacos-operator3. 安装nacos-server 坑点一坑点二nacos-ui页面访问同一集群环境下微服务连接nacos地址配置待办参考文档 操作步骤 1. 拉取仓库代码 &#xff08;这一步主要用到代码中的相关yml文件&#xff0c;稍加修改用于部署容器&…...

面试篇-项目管理

⼀、构建管理 项目为什么选择Maven构建? 选择Maven进行项目构建有以下几个主要原因&#xff1a; 1. 依赖管理&#xff1a;Maven 提供了强大的依赖管理功能&#xff0c;可以自动下载项目所需的第三方库和依赖&#xff0c;并且可以管理这些依赖的版本、范围等信息。这简化了项…...

数仓建设之Oracle常见语法学习

1. 字符串截取 select substr(AAA-BBB, 1, instr(AAA-BBB, -, -1) - 1) 值 from dual; --AAA select substr(AAA-BBB, instr(AAA-BBB, -, -1) 1) 值 from dual; --BBB2. 帆软报表有参数SQL select a.agency_code, a.agency_name, a.agency_typefrom dw.dim_ta_subred_agency…...

物联网智能技术的深入探讨与案例分析

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

python语言基础-5 进阶语法-5.2 装饰器-5.2.2 简单装饰器

声明&#xff1a;本内容非盈利性质&#xff0c;也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站&#xff0c;会尽量附上原文链接&#xff0c;并鼓励大家看原文。侵删。 5.2.2 简单装饰器 装饰器的形式就是一个闭包&#xff0c;下面是一个简单的定义并使用…...

TransFormer--解码器:带掩码的多头注意力层

TransFormer--解码器&#xff1a;带掩码的多头注意力层 以英法翻译任务为例&#xff0c;假设训练数据集样本如下表所示。 原句目标翻译I am goodJe vais bienGood morningBonjourThank you very muchMerci beaucoup 上表所示的数据集由两部分组成&#xff1a;原句和目标句。在…...

【ArcGIS微课1000例】0130:图层组详解与使用

文章目录 一、图层组概述二、创建图层组三、在图层组中管理图层四、对话框中图层组的列表一、图层组概述 图层组包含其他图层。图层组有助于对地图中相关类型的图层进行组织,并且可用于定义高级绘制选项。例如,假设在地图上有两个图层分别用于表示铁路和高速公路。您可将这些…...

Linux中配置ntp服务

NTP&#xff1a;是Network Time Protocol的缩写又 称网络时间协议&#xff0c;是用来使计算机时间同步化的一种协议&#xff0c;用来同步网络中各主机的时 间&#xff0c;在linux系统中早期使用ntp来实现&#xff0c;后来使用chrony来实现。Chrony 应用本身已经有 几年了&#…...

微服务day10-Redis面试篇

Redis主从 搭建主从集群 建立集群时主节点会生成同一的replicationID,交给各个从节点。 集群中的缓冲区是一个环型数组&#xff0c;即若从节点宕机时间过长&#xff0c;可能导致命令被覆盖。 主从集群优化 哨兵原理 哨兵是一个集群来确保哨兵不出现问题。 服务状态监控 选举…...

STL序列式容器之list

相较于vector的连续性空间&#xff0c;list相对比较复杂&#xff1b;list内部使用了双向环形链表的方式对数据进行存储&#xff1b;list在增加元素时&#xff0c;采用了精准的方式分配一片空间对数据及附加指针等信息进行存储&#xff1b; list节点定义如下 template<clas…...

docker:基于Dockerfile镜像制作完整案例

目录 摘要目录结构介绍起始目录package目录target目录sh目录init.sh脚本start.sh脚本stop.sh脚本restart.sh脚本 config目录 步骤1、编写dockerfilescript.sh脚本 2、构件镜像查看镜像 3、保存镜像到本地服务器4、复制镜像文件到指定目录&#xff0c;并执行init.sh脚本5、查看挂…...

微信小程序自定义顶部导航栏(适配各种机型)

效果图 1.pages.js&#xff0c;需要自定义导航栏的页面设置"navigationStyle": "custom" 2.App.vue,获取设备高度及胶囊位置 onLaunch: function () {// 系统信息const systemInfo uni.getSystemInfoSync()// 胶囊按钮位置信息const menuButtonInfo uni.…...

sslSocketFactory not supported on JDK 9+

clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9 at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.kt:61) at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.kt:751) at 1.升版本4.9.3以上 2、加个函数获取X…...

[Codesys]常用功能块应用分享-BMOV功能块功能介绍及其使用实例说明

官方说明 功能说明 参数 类型 功能 pbyDataSrcPOINTER TO BYTE指向源数组指针uiSizeUINT要移动数据的BYTE数pbyDataDesPOINTER TO BYTE指向目标数组指针 实例应用-ST IF SYSTEM_CLOCK.AlwaysTrue THENCASE iAutoState OF0: //读写完成信号在下次读写信号的上升沿或复位信号…...

大语言模型通用能力排行榜(2024年11月8日更新)

数据来源SuperCLUE 榜单数据为通用能力排行榜 排名 模型名称 机构 总分 理科 文科 Hard 使用方式 发布日期 - o1-preview OpenAI 75.85 86.07 76.6 64.89 API 2024年11月8日 - Claude 3.5 Sonnet&#xff08;20241022&#xff09; Anthropic 70.88 82.4…...

信息技术引领未来:大数据治理的实践与挑战

信息技术引领未来&#xff1a;大数据治理的实践与挑战 在信息技术日新月异的今天&#xff0c;大数据已成为企业和社会发展的重要驱动力。大数据治理&#xff0c;作为确保数据质量、安全性和合规性的关键环节&#xff0c;正面临着前所未有的实践挑战与机遇。本文将探讨信息技术…...

Git 分⽀规范 Git Flow 模型

前言 GitFlow 是一种流行的 Git 分支管理策略&#xff0c;由 Vincent Driessen 在 2010 年提出。它提供了一种结构化的方法来管理项目的开发、发布和维护&#xff0c;特别适合大型和复杂的项目。GitFlow 定义了一套明确的分支模型和工作流程&#xff0c;使得团队成员可以更有效…...

基于YOLOv8深度学习的公共卫生防护口罩佩戴检测系统(PyQt5界面+数据集+训练代码)

在全球公共卫生事件频发的背景下&#xff0c;防护口罩佩戴检测成为保障公众健康和控制病毒传播的重要手段之一。特别是在人员密集的公共场所&#xff0c;例如医院、学校、公共交通工具等地&#xff0c;口罩的正确佩戴对降低病毒传播风险、保护易感人群、遏制疫情扩散有着至关重…...

廊坊市做网站/橙子建站怎么收费

NumberFormat 是全部数值格式的抽象基类。 该类提供了格式化和分析数值的接口。 NumberFormat 也提供了确定 哪个语言环境具有数值格式以及它们名字的方法。 package com.discursive.jccook.collections; import java.text.NumberFormat; public class Test { /** * param ar…...

做景观要用的植物网站/外贸网站模板

使用第三方提供的swgger ui 可有效提高 web api 接口列表的阅读性&#xff0c;并且可以在页面中测试服务接口。 但本人在查阅大量资料并进行编码测试后&#xff0c;发现大部分的swagger实例并不能有效运行。例如如下两个网址&#xff1a;http://www.cnblogs.com/caodaiming/p/4…...

中学生设计的网站/注册网站流程

1、借助于iframe首先&#xff0c;最容易想到的应该是使用iframe,虽然html5废除了frame,但是依旧保留了iframe,我们仍可以继续使用&#xff0c;iframe有一个frameboder属性&#xff0c;设置属性值为0或者为no,去除iframe的边框。然后将scrolling设为no。这是完全可行的&#xff…...

计算机做网站难吗/东莞seo建站咨询

CtrlShift Enter&#xff0c;语句完成“&#xff01;”&#xff0c;否定完成&#xff0c;输入表达式时按 “&#xff01;”键CtrlE&#xff0c;最近的文件CtrlShiftE&#xff0c;最近更改的文件ShiftClick&#xff0c;可以关闭文件Ctrl[ OR ]&#xff0c;可以跑到大括号的开头…...

泉州自主建站模板/武汉seo技术

https://motion-project.github.io/ 转载于:https://www.cnblogs.com/kekeoutlook/p/11464869.html...

网站建设卖手机代码/淘宝指数查询入口

自己整理的深入理解计算机系统基础知识深入理解计算机系统第一章计算机系统漫游信息就是位上下文源程序实际上就是一个由0和1组成的位序列&#xff0c;这些位被组织成8个一组&#xff0c;称为字节。每个字节都表示程序中某个文本字符。不仅如此&#xff0c;系统中所有的信息&am…...