MySQL数据库常用命令_常用SQL语句及命令_MySQL常用语句

文章目录

  • 一、常用的 SQL 语句
    • (一)查看当前登录用户
    • (二)查看当前数据库
    • (三)如何查看全部用户?
    • (四)创建数据库
    • (五)选择要操作的数据库
    • (六)创建表
    • (七)查看表的结构
    • (八)往表中插入记录
    • (九)执行 SQL 脚本文件
    • (十)删除表
    • (十一)清空表
    • (十二)更新表中数据
    • (十三)修改 root 密码
    • (十四)修改字段属性
    • (十五)修改字段名
  • 二、常用的命令
    • (一)查看 MySQL 状态
      • 1.使用命令 status 查看状态
      • 2.使用命令 \s 查看状态
    • (二)查看全部数据库
    • (三)查看当前数据库中当前用户权限下的全部表
    • (四)查看/设置字符编码
      • 1.查看 MySQL 的详细编码
      • 2.查看某个数据库的编码
      • 3.设置当前会话中的数据库字符编码
      • 4.设置全局的数据库编码
      • 5.设置永久的字符编码
        • (1)永久修改某个数据库的字符编码
        • (2)永久修改某个表的字符编码
        • (3)永久修改某个表某个字段的字符编码
    • (五)查看建库/建表的语句

一、常用的 SQL 语句

(一)查看当前登录用户

mysql> select user();

(二)查看当前数据库

mysql> select database();

(三)如何查看全部用户?

在Mysql中其实有一个内置且名为mysql的数据库,这个数据库中存储的是Mysql的一些数据,比如用户、权限信息、存储过程等,我们可以通过如下简单的查询语句来显示所有的用户

mysql> SELECT User, Host FROM mysql.user;

(四)创建数据库

mysql> create database if not exists db_name character set utf8;
mysql> CREATE DATABASE IF NOT EXISTS db_name default charset utf8 COLLATE utf8_general_ci;

(五)选择要操作的数据库

mysql> use mydb;

按回车键出现 Database changed 时说明操作成功!

(六)创建表

mysql> CREATE TABLE t_employee (id bigint(20) unsigned DEFAULT NULL,project_name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '项目名称',start_date date DEFAULT NULL COMMENT '项目开始时间',end_date date DEFAULT NULL COMMENT '项目结束时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;mysql> CREATE TABLE emp_1 (id INT ( 11 ) ZEROFILL PRIMARY KEY auto_increment,NAME VARCHAR ( 30 ) NOT NULL,salary DECIMAL ( 13, 2 ) NOT NULL,hiredate date NOT NULL,last_login TIMESTAMP NOT NULL,
dept_id INT ( 11 ) ZEROFILL NOT NULL);

(七)查看表的结构

mysql> describe mytable; -- 可以缩写成 desc mytable
mysql> show full columns from mytable; -- 查看表字段的完整信息

(八)往表中插入记录

mysql> INSERT INTO `td_dictionary` VALUES (1, 'UPLOAD_IMAGES', 'AVATAR_PATH', 'upload/avatar', NULL, NULL);

(九)执行 SQL 脚本文件

mysql>use database;
mysql>source d:\td_dictionary.sql;

文件 td_dictionary.sql 内容如下:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for td_dictionary
-- ----------------------------
DROP TABLE IF EXISTS `td_dictionary`;
CREATE TABLE `td_dictionary` (`dict_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '字典ID',`dict_group` varchar(100) DEFAULT NULL COMMENT '分组编码',`dict_code` varchar(100) DEFAULT NULL COMMENT '字典编码',`dict_value` varchar(100) DEFAULT NULL COMMENT '字典值',`dict_remark` varchar(1000) DEFAULT NULL COMMENT '字典说明',`dict_order` smallint(6) DEFAULT NULL COMMENT '排序',PRIMARY KEY (`dict_id`)
) ENGINE=InnoDB AUTO_INCREMENT=126 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of td_dictionary
-- ----------------------------
BEGIN; -- 事务的开始
INSERT INTO `td_dictionary` VALUES (1, 'UPLOAD_IMAGES', 'AVATAR_PATH', 'upload/avatar', NULL, NULL);
INSERT INTO `td_dictionary` VALUES (2, 'UPLOAD_IMAGES', 'UPLOAD_PATH', 'upload/images', NULL, NULL);
INSERT INTO `td_dictionary` VALUES (3, 'UPLOAD_IMAGES', 'IMAGE_SIZE', '10485760', NULL, NULL);
INSERT INTO `td_dictionary` VALUES (4, 'UPLOAD_IMAGES', 'AVATAR_MIN_WIDTH', '0', NULL, NULL);
INSERT INTO `td_dictionary` VALUES (5, 'UPLOAD_IMAGES', 'AVATAR_MAX_WIDTH', '0', NULL, NULL);
INSERT INTO `td_dictionary` VALUES (6, 'UPLOAD_IMAGES', 'AVATAR_MIN_HEIGHT', '0', NULL, NULL);
INSERT INTO `td_dictionary` VALUES (7, 'UPLOAD_IMAGES', 'AVATAR_MAX_HEIGHT', '0', NULL, NULL);
COMMIT;SET FOREIGN_KEY_CHECKS = 1;

(十)删除表

mysql> drop table mytable; -- 表结构和数据都删除

(十一)清空表

使用 delete 命令删除:

mysql> delete from mytable; -- 在提交之前可以回滚

使用 truncate 命令删除:

mysql> truncate table mytable; -- 删除数据,保留表结构,不能回滚

(十二)更新表中数据

mysql> update MYTABLE set sex="f" where name='hyq';

(十三)修改 root 密码

mysql> UPDATE mysql.user SET password='新密码' WHERE User='root';
mysql> FLUSH PRIVILEGES;

(十四)修改字段属性

将字段 id 设为 int 类型,显示位数 11,不足前面补零,并且自增长:

alter table t_project modify id int(11) zerofill auto_increment;

(十五)修改字段名

# MySQL修改字段名、类型、长度
alter table emp_yyy change job jobs varchar(50);
alter table emp_yyy change column job jobs varchar(50);

二、常用的命令

(一)查看 MySQL 状态

1.使用命令 status 查看状态

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapperConnection id:		128333
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.31 MySQL Community Server (GPL)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			122 days 22 hours 57 min 30 secThreads: 31  Questions: 5033410  Slow queries: 0  Opens: 10640  Flush tables: 1  Open tables: 1996  Queries per second avg: 0.473
--------------

2.使用命令 \s 查看状态

mysql> \s
--------------
mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapperConnection id:		128333
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.31 MySQL Community Server (GPL)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			122 days 22 hours 57 min 20 secThreads: 31  Questions: 5033397  Slow queries: 0  Opens: 10640  Flush tables: 1  Open tables: 1996  Queries per second avg: 0.473
--------------

(二)查看全部数据库

mysql> show databases;

(三)查看当前数据库中当前用户权限下的全部表

mysql> show tables;

(四)查看/设置字符编码

1.查看 MySQL 的详细编码

输入命令:show variables like '%char%'

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

2.查看某个数据库的编码

查看数据库 production 的编码

mysql> show create database production;
+------------+---------------------------------------------------------------------------------------------------+
| Database   | Create Database                                                                                   |
+------------+---------------------------------------------------------------------------------------------------+
| production | CREATE DATABASE `production` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+------------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

3.设置当前会话中的数据库字符编码

设置当前窗口的数据库字符编码,这是基于会话session级别的设置,关闭当前窗口也就是关闭当前会话,再次打开窗口后字符编码会恢复成原来的。

我们看下当前数据库的编码是:

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

我们使用命令 set,一个一个来设置。如上所示我们看到 database、server 是 utf8mb4,现在我们改成 gbk :

mysql> set character_set_database=gbk;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> set character_set_server=gbk;
Query OK, 0 rows affected (0.00 sec)

改完之后我查看下:

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | gbk                        |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | gbk                        |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

我们还可以是关键字 names 来批量修改,命运语句格式如下:

SET NAMES 'charset_name' [COLLATE 'collation_name'];

执行上面的命令语相当于执行下面 3 条命令语句:

SET character_set_client = charset_name; 
SET character_set_results = charset_name; 
SET character_set_connection = charset_name;

我执行看看:

mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | gbk                        |
| character_set_connection | gbk                        |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | gbk                        |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

此时创建数据库,默认编码就是 gbk 了。

但是我们退出数据库连接,再重新连接数据库,再查看数据库的编码就会发现又恢复原来的了:

mysql> exit;
Bye
[root@htlwk0001host ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 128374
Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

4.设置全局的数据库编码

当重启 MySQL 服务的时候,编码依然会变为原来的字符编码。

设置全局的数据库编码命令如下:


mysql> set global character_set_database=gbk;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> set global character_set_server=gbk;
Query OK, 0 rows affected (0.00 sec)

查看下有没有变化呢?结果意外吧?惊喜吧?

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

其实已经设置成功了,你要断开连接再重新连接数据库,你就可以看到变化了。

此时你创建表、数据库默认的就是 gbk 字符编码,而且你断开数据库连接再重新连接数据库,创建的表、数据库等对象,默认字符编码就是 gbk,有兴趣的自己操作试下,我这里就不试了。

但是我们重启 MySQL 数据库的时候,编码又会恢复成原来的 utf8mb4。

5.设置永久的字符编码

需要在配置文件中修改数据库的字符编码,编辑文件 /etc/my.cnf,如下:

[mysqld]
character-set-server=gbk
[client]
default-character-set=gbk
[mysql]
default-character-set=gbk

然后重启数据库即可

(1)永久修改某个数据库的字符编码

命令语句如下:

ALTER DATABASE db_name [[DEFAULT] CHARACTER SET charset_name] [[DEFAULT] COLLATE collation_name]

我们执行看看,先看下数据库 test 当前的字符编码如下:

mysql> show create database test;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)

把字符编码改成 gbk,如下语句:

mysql> alter database test character set gbk;
Query OK, 1 row affected (0.00 sec)

看看结果:

mysql> show create database test;
+----------+--------------------------------------------------------------+
| Database | Create Database                                              |
+----------+--------------------------------------------------------------+
| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)

已经成功改成 gbk了!

(2)永久修改某个表的字符编码

命令语句格式如下:

ALTER TABLE tbl_name [[DEFAULT] CHARACTER SET charset_name] [COLLATE collation_name]

(3)永久修改某个表某个字段的字符编码

命令语句格式如下:

ALTER TABLE tbl_name MODIFY col_name {CHAR | VARCHAR | TEXT} (col_length) [CHARACTER SET charset_name] [COLLATE collation_name]

例如:

alter table tf_user modify user_name varchar(30) character set utf8 collate utf8_swedish_ci;

(五)查看建库/建表的语句

show create table project \G; #  \G 用来格式化显示信息
show create database test \G

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

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

相关文章

spock_在扩展Spock时输出给定值

spockSpock是一个Java测试框架,由GradleWare的软件工程师Peter Niederwieser于2008年创建,它可以促进BDD的发展。 利用这个 例如 ,一个故事可以定义为: Story: Returns go to stockAs a store owner In order to keep track of …

将serversocket 写在按钮事件中连接不上_Java服务器的模型—TCP连接/流量优化

本文很长哦,但请给我一点时间。通常,我们的应用程序不需要并行处理成千上万的用户,也不需要在一秒钟内处理成千上万的消息。我们只需要应付数十或数百个并发连接的用户,就可以在内部应用程序或某些微服务应用程序中承受如此大的负…

ios 开发设置左滑退出_苹果铃声怎么设置自己的歌?教你用手机快速搞定!

苹果手机铃声怎么设置为自己喜欢的歌曲?由于iOS系统的封闭性,想要给苹果手机更换铃声不像在安卓手机一样那么方便,看到网上很多教程也是需要使用电脑才能完成铃声的设置,有没有不复杂的方法来直接帮我们更换手机铃声?别…

dp括号匹配 网易面试题_面试题:大括号验证

dp括号匹配 网易面试题这是较容易的编码任务之一,但是您仍然可以在一些初步的技术筛选中达到目标。 问题看起来像这样: 给定仅包含字符( , ) , { , } , [和]的字符串,请确定输入字符串是否有效…

MySQL如何删除有外键约束的数据

在数据库中查看外键是否有效,值为1表示外键有效 mysql> select foreign_key_checks; ---------------------- | foreign_key_checks | ---------------------- | 1 | ---------------------- 1 row in set (0.00 sec)将外键的值设置为0,此时…

python绘制动画示例_Python使用matplotlib绘制动画的方法

本文实例讲述了Python使用matplotlib绘制动画的方法。分享给大家供大家参考。具体分析如下:matplotlib从1.1.0版本以后就开始支持绘制动画下面是几个的示例:第一个例子使用generator,每隔两秒,就运行函数data_gen:# -*…

基于单片机步进电机ppt答辩_基于MCU和DSP的步进电机控制技术分析

来源 | 控制与传动步进电机已经渗透入我们生活的方方面面,本文介绍了一些重要的步进电机相关技术,为开发人员基本了解步进电机的工作原理提供了足够的信息,同时也介绍了用微控制器或数字信号处理器控制步进电机的方法。步进电机也叫步进器&am…

拼图登陆拼图二维码验证_另一个拼图观点

拼图登陆拼图二维码验证在过去的几周中,围绕Java 9即将发布及其最著名的功能:Java平台模块系统JPMS进行了激烈的辩论。 –以其项目名称Jigsaw更为人所知。 模块系统以正式规范过程的形式引入Java生态系统 – JSR –需要由专家组以最终形式批准。 在该专…

【C++】多线程(四)

这是多线程的最后一篇文章。 std::promise promise 的作用很简单,在一个线程t1中保存一个类型typename T的值,可供相绑定的std::future对象在另一线程t2中获取。事实上,它与future基本是成对出现的。来看下面的例子: //声明一个…

广告设计师如何使用python_设计师必看!高效率工具,30分钟完成别人一天的工作!...

原标题:设计师必看!高效率工具,30分钟完成别人一天的工作!世界上只有两种物质:高效率和低效率;世界上只有两种人:高效率的人和低效率的人。—— 萧伯纳今天这篇文章主要想和大家分享一个效率工具…

Linux/MacOS/Mac OS 命令终端/命令行如何查找文件/搜索文件和删除文件

文章目录问题一:我要在当前目录下查找名称中含有“Lib”的文件和目录,注意不要在子目录下查找问题二:在当前目录下如何删除名称中含有“abc”的文件和文件夹问题一:我要在当前目录下查找名称中含有“Lib”的文件和目录&#xff0c…

div获取第一个子节点jquery_【antd】Tree组件子节点不完全勾选获取父节点的值

注意⚠️:这篇文章适用于后台返回的树结构比较多的情况下,如果数据比较少的情况下,可以参考我的上一篇文章,操作起来比较简单我们在实际操作tree组件和后台交互的时候一般都是需要将父节点传过去,如图:点击…

java中的jpa_在JPA中处理Java的LocalDateTime

java中的jpa几天前,我在处理JPA中的LocalDateTime属性时遇到问题。 在这篇博客文章中,我将尝试创建一个样本问题来说明该问题以及我使用的解决方案。 考虑以下实体,该实体为特定公司的员工建模– Entity Getter Setter public class Employ…

修改value_Python | 快速修改或命名N个文件夹名称,你会吗?

#欢迎交流:shuilinggan163.com#工作中,经常会遇到需要修改或新建很多文件的文件命,是一件重复且头疼的事情,下面一组Python代码,轻松教你快速实现!程序一:根据文件(SSSSSS)新建并命名空文件夹im…

linux离线安装python3.7教程_Linux傻瓜式七步完美安装Python3.7

1 安装依赖包yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc2 下载解压Python3.7# 1 首先切换到桌面cd /home# 2 下载wget http://www.python.org/f…

IntelliJ IDEA for Mac在MacOS模式下打开系统设置(偏好设置)的快捷键(Preferences Shortcut)

快捷键快捷键符号英文名称功能说明Command ,⌘,Open Settings dialog打开IDEA系统设置

gwt格式_GWT HTTP请求替代方案

gwt格式由于多种原因 ,许多GWT用户放弃了RPC机制,这是GWT提供的调用后端的标准方法。 他们发现,在GWT RequestBuilder与其他可能不适合其应用程序模型的外部库之间迷失了自己。 这篇文章的目的是要通过GWT中众所周知的HTTP / Rest库来尝试使情…

簇的局部变量中布尔类型_java基础2(变量、常量、数据类型)

一、注释(1)什么是注释?解释说明的文字(注释的内容不会被编译)(2)注释的作用①对代码的解释说明 ②便于后期维护(3)注释的分类:①单行注释 //单行注释作用域:只在当前行有…

python生成海报_生成海报(前端 | python)

我最近没有摸鱼,一直都在工作。只不过目前需要爬一点数据 python 做的,之后看机会分享一下。忙着忙着老大说要生成海报,有个活动要给每个用户来个分享图。想法PS 批处理?脚本? 能甩出去的活都甩出去,机智如…

数位进制转换详解

文章目录进制进制转换二进制和十进制互相转换十进制 → 二进制十进制正整数 → 二进制十进制负整数 → 二进制十进制负小数 → 二进制十进制小数 → 二进制二进制 → 十进制二进制负整数 → 十进制二进制的正整数 → 十进制二进制小数 → 十进制二进制的负小数 → 十进制八进制…