日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發(fā)布時間:2023/12/3 数据库 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL数据库常用命令_常用SQL语句及命令_MySQL常用语句 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、常用的 SQL 語句
    • (一)查看當(dāng)前登錄用戶
    • (二)查看當(dāng)前數(shù)據(jù)庫
    • (三)如何查看全部用戶?
    • (四)創(chuàng)建數(shù)據(jù)庫
    • (五)選擇要操作的數(shù)據(jù)庫
    • (六)創(chuàng)建表
    • (七)查看表的結(jié)構(gòu)
    • (八)往表中插入記錄
    • (九)執(zhí)行 SQL 腳本文件
    • (十)刪除表
    • (十一)清空表
    • (十二)更新表中數(shù)據(jù)
    • (十三)修改 root 密碼
    • (十四)修改字段屬性
    • (十五)修改字段名
  • 二、常用的命令
    • (一)查看 MySQL 狀態(tài)
      • 1.使用命令 status 查看狀態(tài)
      • 2.使用命令 \s 查看狀態(tài)
    • (二)查看全部數(shù)據(jù)庫
    • (三)查看當(dāng)前數(shù)據(jù)庫中當(dāng)前用戶權(quán)限下的全部表
    • (四)查看/設(shè)置字符編碼
      • 1.查看 MySQL 的詳細(xì)編碼
      • 2.查看某個數(shù)據(jù)庫的編碼
      • 3.設(shè)置當(dāng)前會話中的數(shù)據(jù)庫字符編碼
      • 4.設(shè)置全局的數(shù)據(jù)庫編碼
      • 5.設(shè)置永久的字符編碼
        • (1)永久修改某個數(shù)據(jù)庫的字符編碼
        • (2)永久修改某個表的字符編碼
        • (3)永久修改某個表某個字段的字符編碼

一、常用的 SQL 語句

(一)查看當(dāng)前登錄用戶

mysql> select user();

(二)查看當(dāng)前數(shù)據(jù)庫

mysql> select database();

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

在Mysql中其實有一個內(nèi)置且名為mysql的數(shù)據(jù)庫,這個數(shù)據(jù)庫中存儲的是Mysql的一些數(shù)據(jù),比如用戶、權(quán)限信息、存儲過程等,我們可以通過如下簡單的查詢語句來顯示所有的用戶

mysql> SELECT User, Host FROM mysql.user;

(四)創(chuàng)建數(shù)據(jù)庫

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;

(五)選擇要操作的數(shù)據(jù)庫

mysql> use mydb;

按回車鍵出現(xiàn) Database changed 時說明操作成功!

(六)創(chuàng)建表

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 '項目結(jié)束時間' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(七)查看表的結(jié)構(gòu)

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);

(九)執(zhí)行 SQL 腳本文件

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

文件 td_dictionary.sql 內(nèi)容如下:

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; -- 事務(wù)的開始 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; -- 表結(jié)構(gòu)和數(shù)據(jù)都刪除

(十一)清空表

使用 delete 命令刪除:

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

使用 truncate 命令刪除:

mysql> truncate table mytable; -- 刪除數(shù)據(jù),保留表結(jié)構(gòu),不能回滾

(十二)更新表中數(shù)據(jù)

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

(十三)修改 root 密碼

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

(十四)修改字段屬性

將字段 id 設(shè)為 int 類型,顯示位數(shù) 11,不足前面補(bǔ)零,并且自增長:

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 狀態(tài)

1.使用命令 status 查看狀態(tài)

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 查看狀態(tài)

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 --------------

(二)查看全部數(shù)據(jù)庫

mysql> show databases;

(三)查看當(dāng)前數(shù)據(jù)庫中當(dāng)前用戶權(quán)限下的全部表

mysql> show tables;

(四)查看/設(shè)置字符編碼

1.查看 MySQL 的詳細(xì)編碼

輸入命令: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.查看某個數(shù)據(jù)庫的編碼

查看數(shù)據(jù)庫 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.設(shè)置當(dāng)前會話中的數(shù)據(jù)庫字符編碼

設(shè)置當(dāng)前窗口的數(shù)據(jù)庫字符編碼,這是基于會話session級別的設(shè)置,關(guān)閉當(dāng)前窗口也就是關(guān)閉當(dāng)前會話,再次打開窗口后字符編碼會恢復(fù)成原來的。

我們看下當(dāng)前數(shù)據(jù)庫的編碼是:

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,一個一個來設(shè)置。如上所示我們看到 database、server 是 utf8mb4,現(xiàn)在我們改成 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)

我們還可以是關(guān)鍵字 names 來批量修改,命運語句格式如下:

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

執(zhí)行上面的命令語相當(dāng)于執(zhí)行下面 3 條命令語句:

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

我執(zhí)行看看:

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)

此時創(chuàng)建數(shù)據(jù)庫,默認(rèn)編碼就是 gbk 了。

但是我們退出數(shù)據(jù)庫連接,再重新連接數(shù)據(jù)庫,再查看數(shù)據(jù)庫的編碼就會發(fā)現(xiàn)又恢復(fù)原來的了:

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.設(shè)置全局的數(shù)據(jù)庫編碼

當(dāng)重啟 MySQL 服務(wù)的時候,編碼依然會變?yōu)樵瓉淼淖址幋a。

設(shè)置全局的數(shù)據(jù)庫編碼命令如下:

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)

查看下有沒有變化呢?結(jié)果意外吧?驚喜吧?

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)

其實已經(jīng)設(shè)置成功了,你要斷開連接再重新連接數(shù)據(jù)庫,你就可以看到變化了。

此時你創(chuàng)建表、數(shù)據(jù)庫默認(rèn)的就是 gbk 字符編碼,而且你斷開數(shù)據(jù)庫連接再重新連接數(shù)據(jù)庫,創(chuàng)建的表、數(shù)據(jù)庫等對象,默認(rèn)字符編碼就是 gbk,有興趣的自己操作試下,我這里就不試了。

但是我們重啟 MySQL 數(shù)據(jù)庫的時候,編碼又會恢復(fù)成原來的 utf8mb4。

5.設(shè)置永久的字符編碼

需要在配置文件中修改數(shù)據(jù)庫的字符編碼,編輯文件 /etc/my.cnf,如下:

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

然后重啟數(shù)據(jù)庫即可

(1)永久修改某個數(shù)據(jù)庫的字符編碼

命令語句如下:

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

我們執(zhí)行看看,先看下數(shù)據(jù)庫 test 當(dāng)前的字符編碼如下:

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)

看看結(jié)果:

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

已經(jīng)成功改成 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;

總結(jié)

以上是生活随笔為你收集整理的MySQL数据库常用命令_常用SQL语句及命令_MySQL常用语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。