文章目录

  • 一、常用的 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> 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;

MySQL数据库常用命令_常用SQL语句及命令_MySQL常用语句相关推荐

  1. 【宋红康 MySQL数据库】【03】SQL概述_常见的数据库对象

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库][03]SQL概述_常见的数据库对象 SQL概述 什么是SQL SQL背景知识 SQL分类 DDL(Data Defini ...

  2. MySQL数据库基础(五)——SQL查询

    MySQL数据库基础(五)--SQL查询 一.单表查询 1.查询所有字段 在SELECT语句中使用星号""通配符查询所有字段 在SELECT语句中指定所有字段 select fro ...

  3. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  4. 昊鼎王五:Windows运行中的所有命令_Windows快捷命令_运行中的所有命令

    昊鼎王五:Windows运行中的所有命令_Windows快捷命令_"运行"中的所有命令 winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构 ...

  5. 向mysql数据库发送指令_常用的MySQL数据库命令大全

    飞信2017V5.6.8860.0 官方正式版 类型:聊天其它大小:69.1M语言:中文 评分:9.6 标签: 立即下载 常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 ...

  6. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  7. MySQL数据库https接口_第三章 mysql 数据库接口程序以及SQL语句操作

    mysql  数据库接口程序以及SQL语句操作 用于管理数据库: 命令接口自带命令 DDL:数据定义语言(create drop ) DCL: 数据控制语言(grant revoke) DML: 数据 ...

  8. c 使用mysql的语句_在 MySQL 数据库中使用C 履行SQL的语句

    与 PostgreSQL 类似,可运用许多不一样的言语来访问 MySQL,包括 C.C++.Java 和 Perl.从 Professional Linux Programming 中第 5 章有关 ...

  9. mysql查询本用户的表的列名等信息_mysql常用命令查询手册

    启动MySQL服务 $ sudo service mysql start 或者 /etc/init.d/mysql start 使用root用户登陆 $ mysql -u 用户名 -p 密码 查看命令 ...

  10. mysql数据库加密存储过程_数据库系统(六)---MySQL语句及存储过程

    1.存储过程是一组为了完成某项特定功能的 SQL 语句集,其实质上就是一段存储在数据库中的代码,它可以由声明式的 SQL 语句(如 CREATE.UPDATE 和SELECT 等语句)和过程式 SQL ...

最新文章

  1. SQL优化|Java面试题
  2. go get 加 -u 和不加 -u 参数的区别
  3. 揭秘 MWU 最佳画质游戏《永劫无间》技术历程
  4. 【转载】Spring Boot 过滤器、监听器、拦截器的使用
  5. 蓝桥杯物联网例程下载
  6. [html] Form表单是怎么上传文件的?你了解它的原理吗?
  7. python不完全支持面向对象程序设计_Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】...
  8. pythonexcel计算横列总和-在python中,如何在字典中找到值的总和?每个键都有多个值...
  9. 01.LoT.UI 前后台通用框架分解系列之——小图片背景全屏显示(可自动切换背景)...
  10. Android PdfViewer
  11. Python入门学习笔记(2)
  12. 从零打造一个程序员的mac
  13. Java中length、length()、size()的区别
  14. 把数据对象转成字符串_R语言处理环境监测数据(2):时间数据处理
  15. 我的知识管理工具列表 zz
  16. 物联网工程导论第二版答案选择题
  17. uniyu 雷达波束_Unity使用TUIO协议接入雷达
  18. 在html中制作多彩照片墙,60个照片墙布置方案 记录浪漫时刻
  19. 饥荒联机版服务器控制台本地和在线,饥荒联机版控制台操作教程 饥荒联机版控制台怎么使用-游侠网...
  20. 扬帆际海:如何成为一个合格的跨境电商运营?

热门文章

  1. nodejs异步测试_异步过程的自动化测试
  2. 随机数发生器怎么用_用随机数发生器射击自己的脚
  3. cuba 平台_CUBA平台的理念
  4. Apache Camel 3.2 – Camel的无反射配置
  5. Hibernate字节码增强
  6. JUnit 5和Selenium –改善项目配置
  7. 在任何无法理解的情况下,请编写脚本
  8. java开发者工具开源版_JArchitect对Java开源贡献者免费
  9. MQTT和Java入门
  10. 如何:使用Json插入数据库并从中读取