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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2023/12/3 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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> 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常用语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。