<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MySQL演示使用及數據庫中的編碼問題解決方法

      4. MySQL演示使用

      4.1 MySQL的使用演示

      1.查看所有的數據庫

      show database;
      

      image

      "information_schema"是MySQL系統自帶的數據庫,主要保存MySQL數據庫服務器的系統信息,比如數據庫的名稱、數據表的名稱、字段名稱、存取權限、數據文件、所在的文件夾和系統使用的文件夾,等等

      "performance_schema"是MySQL系統自帶的數據庫,可以用來監控MySQL的各類性能指標。

      "sys"數據庫是MySQL系統自帶的數據庫,主要作用是以一種更容易被理解的方式展示MySQL數據庫服務器的各類性能指標,幫助系統管理和開發人員監控 MySQL的技術性能。

      "mysql"數據庫保存了MySQL數據庫服務器運行時需要的系統信息,比如數據文件夾、當先使用的字符集、約束檢查信息,等等

      為什么Workbench里面只能看到"demo"和"sys"這兩個數據庫呢?

      這是因為,Workbench時圖形化的管理工具,主要面向開發人員,"demo"和"sys"這兩個數據庫已經夠用了。如果有特殊需求,比如,需要監控MySQL數據庫各項性能指標、直接操作MySQL數據庫系統文件等,可以由DBA通過SQL語句,查看其他的系統數據庫。

      2.創建自己的數據庫

      create database 數據庫名;
      
      #創建atguigudb數據庫,該名稱不能與已經存在的數據庫重名。
      create database dbtest1;
      

      image

      image

      創建表時:

      create table employees(id int,name varchar(15));
      

      image

      3.使用自己的數據庫

      use 數據庫名;
      
      #shiyong dbtest1數據庫
      use dbtest1;
      
      #創建表
      create table employees(id int,name varchar(15));
      
      #展示表
      show tables;
      
      #查看表中數據
      select * from employees;
      
      insert into employees values(1001,'Tom');
      
      insert into employees values(1002,'shkstart');
      

      image

      image

      image

      image

      image

      說明:如果沒有使用use語句,后面針對數據庫的操作也沒有加”數據庫名“的限定,那么會報”ERROR 1046 (3D000):No database selected“ (沒有選擇數據庫)

      5.7

      image

      8.0可以

      image

      字符集默認為歐洲的拉丁碼。不是utf-8所以導致添加不成功。

      使用完use語句之后,如果接下開的SQL都是針對一個數據庫操作的,那就不用重復use了,如果要針對另一個數據庫操作,那么要重新use。

      4.查看某個庫的所有表格

      show tables;#要求前面有use語句
      
      show tables from 數據庫名;
      

      5.創建新的表格

      create table 表名稱(
      	字段名 數據類型,
          字段名 數據類型,
      );
      

      說明:如果最后一個字段,后面就是用加逗號,因為都好的作用是分割每個字段。

      #創建學生表
      create table student(
      	id int,
          name varchar(20) #說名字的長度不超過20個字符
      );
      

      6.查看一個表的數據

      select * from 數據庫表名稱;
      
      #查看學生白的數據
      select * from student;
      

      7.添加一條記錄

      insert into 表名稱 values(值列表);
      
      #添加兩條記錄到student表中
      insert into student values(1,'張三');
      insert into student values(2,'李四');
      
      #我測試使用的語句
      insert into employees values(1003,'杰瑞');
      

      報錯

      mysql> insert into employees values(1003,'杰瑞');
      ERROR 1366 (HY000): Incorrect string value: '\xBD\xDC\xC8\xF0' for column 'name' at row 1
      

      字符集問題。

      8.查看表的創建信息

      show create table 表名稱\G
      
      #查看student表的詳細創建信息
      show create table\G
      
      #測試語句
      show create table employees\G
      
      *************************** 1. row ***************************
             Table: employees
      Create Table: CREATE TABLE `employees` (
        `id` int(11) DEFAULT NULL,
        `name` varchar(15) DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1
      1 row in set (0.00 sec)
      
      mysql>
      

      上面結果顯示employees的表格的默認字符集是“latin1”不支持中文。

      9.查看數據庫的創建信息

      show create database 數據庫名\G
      
      #查看atguigudb數據庫的詳細創建信息
      show create database atguigudb\G
      
      #結果如下
      *************************** 1. row ***************************
             Database: dbtest1
      Create Database: CREATE DATABASE `dbtest1` /*!40100 DEFAULT CHARACTER SET latin1 */
      1 row in set (0.00 sec)
      

      上面的結果顯示dbtest1數據庫也不支持中文,字符集默認是latin1。

      10.刪除表格

      drop table 表名;
      
      #刪除學生表
      drop table student;
      

      11.刪除數據庫

      drop database 數據庫名;
      
      #刪除atguigu數據庫
      drop database atguigudb;
      

      4.2MySQL的編碼設置

      MySQL 5.7中

      問題再現:命令操作sql亂碼問題

      mysql> insert into employees values(1003,'杰瑞');
      ERROR 1366 (HY000): Incorrect string value: '\xBD\xDC\xC8\xF0' for column 'name' at row 1
      

      問題解決

      步驟1:查看編碼命令

      show variables like 'character_%';
      show variables like 'collation_%';
      
      mysql> show variables like 'character_%';
      +--------------------------+-------------------------------------------+
      | Variable_name            | Value                                     |
      +--------------------------+-------------------------------------------+
      | character_set_client     | gbk                                       |
      | character_set_connection | gbk                                       |
      | character_set_database   | latin1                                    |
      | character_set_filesystem | binary                                    |
      | character_set_results    | gbk                                       |
      | character_set_server     | latin1                                    |
      | character_set_system     | utf8                                      |
      | character_sets_dir       | D:\MySQL\MySQL Server 5.7\share\charsets\ |
      +--------------------------+-------------------------------------------+
      8 rows in set, 1 warning (0.00 sec)
      
      mysql> show variables like 'collation_%';
      +----------------------+-------------------+
      | Variable_name        | Value             |
      +----------------------+-------------------+
      | collation_connection | gbk_chinese_ci    |
      | collation_database   | latin1_swedish_ci |
      | collation_server     | latin1_swedish_ci |
      +----------------------+-------------------+
      3 rows in set, 1 warning (0.00 sec)
      

      步驟2:修改mysql的數據目錄下的my.ini配置文件

      [mysql] # 大概在63行左右,在其下添加
      ...
      default-character-set=utf8  #默認字符集
      
      [mysql] # 大概在76行左右,在其下添加
      ...
      character-set-server=utf8
      collation-server=utf8_general_ci
      
      mysql> show variables like 'character_%';
      +--------------------------+-------------------------------------------+
      | Variable_name            | Value                                     |
      +--------------------------+-------------------------------------------+
      | character_set_client     | gbk                                       |
      | character_set_connection | gbk                                       |
      | character_set_database   | latin1                                    |
      | character_set_filesystem | binary                                    |
      | character_set_results    | gbk                                       |
      | character_set_server     | latin1                                    |
      | character_set_system     | utf8                                      |
      | character_sets_dir       | D:\MySQL\MySQL Server 5.7\share\charsets\ |
      +--------------------------+-------------------------------------------+
      8 rows in set, 1 warning (0.00 sec)
      

      注意:建議修改配置文件使用notpad++等高級文本編輯器,使用記事本等軟件打開修改后可能會導致文件編碼修改為"含BOM頭"的編碼,從而服務重啟失敗。

      步驟3:重啟服務

      步驟四:查看編碼命令

      重啟MySQL后

      mysql> show variables like 'character_%';
      +--------------------------+-------------------------------------------+
      | Variable_name            | Value                                     |
      +--------------------------+-------------------------------------------+
      | character_set_client     | gbk                                       |
      | character_set_connection | gbk                                       |
      | character_set_database   | utf8                                      |
      | character_set_filesystem | binary                                    |
      | character_set_results    | gbk                                       |
      | character_set_server     | utf8                                      |
      | character_set_system     | utf8                                      |
      | character_sets_dir       | D:\MySQL\MySQL Server 5.7\share\charsets\ |
      +--------------------------+-------------------------------------------+
      8 rows in set, 1 warning (0.01 sec)
      

      image

      mysql> show variables like 'collation_%';
      +----------------------+-----------------+
      | Variable_name        | Value           |
      +----------------------+-----------------+
      | collation_connection | gbk_chinese_ci  |
      | collation_database   | utf8_general_ci |
      | collation_server     | utf8_general_ci |
      +----------------------+-----------------+
      3 rows in set, 1 warning (0.00 sec)
      
      mysql> insert into employees values(1003,'杰瑞');
      ERROR 1366 (HY000): Incorrect string value: '\xBD\xDC\xC8\xF0' for column 'name' at row 1
      

      我們不是修改了嗎?為什么還不行?

      mysql> show create table employees;
      +-----------+----------------------------------------------------------------------------------------------------------------------------------+
      | Table     | Create Table                                                                                                                     |
      +-----------+----------------------------------------------------------------------------------------------------------------------------------+
      | employees | CREATE TABLE `employees` (
        `id` int(11) DEFAULT NULL,
        `name` varchar(15) DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
      +-----------+----------------------------------------------------------------------------------------------------------------------------------+
      1 row in set (0.00 sec)
      

      這里發現我們建表的時候使用的是拉丁,改完后它還是拉丁。

      刪庫:

      mysql> drop database dbtest1;
      Query OK, 1 row affected (0.42 sec)
      
      mysql> show databases;
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | mysql              |
      | performance_schema |
      | sys                |
      +--------------------+
      4 rows in set (0.00 sec)
          
      mysql> create database dbtest1;
      Query OK, 1 row affected (0.00 sec)
      
      mysql> show databases;
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | dbtest1            |
      | mysql              |
      | performance_schema |
      | sys                |
      +--------------------+
      5 rows in set (0.00 sec)
      mysql> use dbtest1;
      Database changed
      mysql> create table employees(id int,name varchar(15));
      Query OK, 0 rows affected (0.21 sec)
      
      mysql> show create table employees;
      +-----------+--------------------------------------------------------------------------------------------------------------------------------+
      | Table     | Create Table                                                                                                                   |
      +-----------+--------------------------------------------------------------------------------------------------------------------------------+
      | employees | CREATE TABLE `employees` (
        `id` int(11) DEFAULT NULL,
        `name` varchar(15) DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
      +-----------+--------------------------------------------------------------------------------------------------------------------------------+
      1 row in set (0.01 sec)
      
      mysql> insert into employees values(1001,'Tom');
      Query OK, 1 row affected (0.07 sec)
      
      mysql> insert into employees values(1002,'杰瑞');
      Query OK, 1 row affected (0.03 sec)
      
      mysql> select * from employees;
      +------+------+
      | id   | name |
      +------+------+
      | 1001 | Tom  |
      | 1002 | 杰瑞 |
      +------+------+
      2 rows in set (0.00 sec)
      

      我的是這樣。和視頻中的有出入。。要有兄弟能知道為什么 麻煩可以告訴我下。

      image

      MySQL8.0中

      在MySQL 8.0版本之。網站開發人員在數據庫涉及的時候前,默認字符集為Latin1,utf8字符集指向的是utf8mb3。網站開發人員在數據庫設計的時候往往會將編碼改為utf8字符集。如果忘了修改默認的編碼,就會出現亂碼的問題。從MySQL 8.0開始,數據庫的默認utf8mb4,從而避免了上述的亂碼問題。

      posted @ 2022-04-07 10:52  輕狂書生han  閱讀(275)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 成熟熟女国产精品一区二区| 青青青视频免费一区二区| 怀远县| 日韩精品一二三黄色一级| 政和县| 奇米四色7777中文字幕| 国产va免费精品观看精品| 成人午夜大片免费看爽爽爽| 亚洲综合色区另类av| 久久精品国产6699国产精| 国产精品一品二区三区日韩| 亚洲成熟女人毛毛耸耸多| 91青青草视频在线观看| 免费看黄片一区二区三区| 强奷乱码中文字幕| 二区中文字幕在线观看| 欧美亚洲人成网站在线观看| 国产 麻豆 日韩 欧美 久久| 99精品人妻少妇一区二区| 国产午夜亚洲精品国产成人| 亚洲一区二区中文av| 人妻中文字幕亚洲一区| 乱色熟女综合一区二区三区| 国产成人永久免费av在线| 国产精品自产在线观看一| 亚洲精品理论电影在线观看| 欧美亚洲综合久久偷偷人人 | 国产一区二区三区在线观看免费| 国产毛片三区二区一区| 久久天天躁狠狠躁夜夜不卡| а天堂中文最新一区二区三区 | 丰满爆乳一区二区三区| 乱人伦中文字幕成人网站在线| 一区二区三区av在线观看 | 亚洲av永久无码精品水牛影视| 内射干少妇亚洲69xxx| 国产好大好硬好爽免费不卡| 欧美乱妇高清无乱码免费| 国产成人理论在线视频观看| 精品国产一区二区三区久久女人 | 四虎永久免费精品视频|