Howen

HOWEN

MySQL基本命令

⚠️本篇適用於 MySQL 8.0.X 版本
使用前請使用命令mysql --version確認是否安裝 MySQL

登錄 mysql 數據庫#

使用命令mysql -h localhost -u root -p
其中:

  • -u 後面跟的是你的 MySQL 用戶名。
  • -p 表示你打算輸入密碼。注意 -p 後面沒有空格。如果沒有輸入密碼則回車時系統提示你輸入密碼。
  • -h 參數來指定我們想要連接的 MySQL 伺服器位於 localhost。
    如果 MySQL 伺服器位於不同的主機或遠程伺服器,可以將 localhost 替換為那台伺服器的主機名或 IP 地址。

MySQL 備份和恢復數據庫#

備份數據庫#

使用 mysqldump 工具來備份數據庫。基本語法如下

mysqldump -u [username] -p[password] [database_name] > [backup_file.sql]
  • [username]:你的 MySQL 用戶名。
  • [password]:你的 MySQL 密碼。注意,這裡的 -p 和密碼之間沒有空格。
  • [database_name]:你想要備份的數據庫名。
  • [backup_file.sql]:備份文件的名稱。

例如:mysqldump -u root -p123456 mydatabase > mydatabase_backup.sql

以上命令將會把 mydatabase 數據庫備份到 mydatabase_backup.sql 文件中。

MySQL 備份和恢復數據庫#

例如:
mysql -u root -p123456 mydatabase < mydatabase_backup.sql
以上命令將會把mydatabase_backup.sql文件中的數據恢復到mydatabase數據庫中。
請注意,恢復數據庫時,數據庫應該已經存在。如果還未創建,需要先創建數據庫。

創建和查看數據庫#

創建數據庫#

在 MySQL 中,可以使用 CREATE DATABASE 語句來創建一個新的數據庫。例如,要創建一個名為 "my_database" 的數據庫,您可以使用以下命令:
CREATE DATABASE my_database;

查看數據庫#

要查看所有的數據庫,可以使用 SHOW DATABASES 命令:
SHOW DATABASES;
要查看特定的數據庫,可以先使用 USE 命令選擇數據庫,然後使用 SHOW TABLES 命令來查看該數據庫中的所有表:

USE my_database;
SHOW TABLES;

創建、查看、刪除表#

創建表#

使用 CREATE TABLE 語句來創建一個新的表。例如,要在 "my_database" 數據庫中創建一個名為 "my_table" 的表,您可以使用以下命令:

USE my_database;
CREATE TABLE my_table (
    id INT AUTO_INCREMENT,
    name VARCHAR(100),
    age INT,
    PRIMARY KEY (id)
);

查看表#

要查看表的結構,可以使用DESCRIBEDESC 命令:

DESCRIBE my_table;

刪除表#

使用 DROP 語句:(會直接完全刪除表,不保留結構)

DROP TABLE table_name;

使用 DELETE 語句:

DELETE FROM table_name;

使用 TRUNCATE 語句:

TRUNCATE TABLE table_name;

這裡的 table_name 是你要刪除數據的表的名稱。這兩個命令的效果相同,都是刪除表中的所有數據,保留表格結構。但是 TRUNCATE 通常會更快,並且會重置表的 AUTO_INCREMENT 計數器。在刪除大量數據時,TRUNCATE 是更好的選擇。
約束條件被用於規定在表中所允許的數據。在創建表或修改表結構時,可以為每個列添加約束條件。以下是 MySQL 中常見的約束條件:

MySQL 約束條件#

PRIMARY KEY (主鍵)#

  • 列級別主鍵約束
    在定義表列時,直接將某列定義為主鍵:

    CREATE TABLE Persons (
        ID int NOT NULL PRIMARY KEY,
        LastName varchar(255) NOT NULL,
        FirstName varchar(255),
        Age int
    );
    
  • 表級別主鍵約束
    在定義所有表列之後,將某列或多列定義為主鍵:

    CREATE TABLE Persons (
        ID int NOT NULL,
        LastName varchar(255) NOT NULL,
        FirstName varchar(255),
        Age int,
        PRIMARY KEY (ID)
    );
    

    如果您想創建複合主鍵(由兩列或以上組成的主鍵),則只能在表級別進行定義:

    CREATE TABLE Persons (
        ID int NOT NULL,
        LastName varchar(255) NOT NULL,
        FirstName varchar(255),
        Age int,
        PRIMARY KEY (ID, LastName)
    );
    

UNIQUE#

唯一約束保證某列的每一行都必須有唯一的值。

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL UNIQUE,
    FirstName varchar(255),
    Age int
);

NOT NULL#

非空約束確保某列不能有 NULL 值。

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255) NOT NULL,
    Age int
);

FOREIGN KEY (外鍵)#

外鍵約束用於防止破壞兩個表之間的鏈接。

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(ID)
);

MySQL 增刪改查、分組統計、聚合函數#

SQL 操作#

創建表#

CREATE TABLE table_name (
 column1 datatype,
 column2 datatype,
 column3 datatype
);

CREATE TABLE 語句用於在數據庫中創建新表。它允許指定表的名稱和表中每個列的名稱。

插入數據#

  • 直接插入

    INSERT INTO table_name
    VALUES (value1, value2);
    
  • 指定列插入

    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, value2, value3, ...);
    
  • 同時插入多個數據

    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES 
    (value1, value2, value3, ...),
    (value4, value5, value6, ...),
    (value7, value8, value9, ...);
    

MySQL 修改表結構#

在 MySQL 中,我們使用 ALTER TABLE 命令來修改現有的表結構。以下是一些常用的 ALTER TABLE 命令:

  • 添加列

    ALTER TABLE table_name
    ADD column_name datatype;
    
  • 刪除列

    ALTER TABLE table_name
    DROP COLUMN column_name;
    
  • 修改列類型

    ALTER TABLE table_name
    MODIFY COLUMN column_name datatype;
    
  • 重命名列

    ALTER TABLE table_name
    CHANGE COLUMN old_column_name new_column_name datatype;
    
  • 添加主鍵

    ALTER TABLE table_name
    ADD PRIMARY KEY (column_name);
    
  • 刪除主鍵

    ALTER TABLE table_name
    DROP PRIMARY KEY;
    
  • 添加索引

    ALTER TABLE table_name
    ADD INDEX index_name (column_name);
    
  • 刪除索引

    ALTER TABLE table_name
    DROP INDEX index_name;
    
  • 重命名表

    ALTER TABLE old_table_name
    RENAME TO new_table_name;
    

刪除記錄#

DELETE FROM table_name
WHERE some_column = some_value;

DELETE 語句用於刪除表中的記錄(行)。WHERE 子句指定應刪除哪個記錄或記錄。如果省略 WHERE 子句,將刪除所有記錄。

更新記錄#

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE some_column = some_value;

UPDATE 語句用於編輯表中的記錄(行)。它包括一個 SET 子句,該子句指示要編輯的列,以及一個 WHERE 子句,用於指定記錄。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。