Các lệnh thường dùng trong MySQL – Maxtot Blog

MySQL client

Kết nối với máy chủ MySQL bằng mysql client với tên người dùng và mật khẩu (MySQL sẽ nhắc nhập mật khẩu):

mysql -u [username] -p;

Kết nối với Máy chủ MySQL bằng cơ sở dữ liệu được chỉ định bằng tên người dùng và mật khẩu:

mysql -u [username] -p [database];

Thoát ứng dụng dòng lệnh mysql:

exit;

Export database trong MySQL bằng công cụ mysqldump, với các option thường dùng như bên dưới:

–no-data : export chỉ với kiến trúc bảng, không có dữ liệu (row)
–routines : export procedures and functions
–triggers : export triggers  của các bảng
–events : cho phép export tắt cả events

mysqldump -u [username] -p --no-data --routines --triggers --events [database] > data_backup.sql;

Restore database lại bằng lệnh bên dưới:

mysql -u root -p [database] < data_backup.sql

Để clear command screen MySQL trên Linux, bạn sử dụng lệnh sau:

mysql> system clear;

Hiện tại, không có lệnh nào có sẵn trên HĐH Windows.

Làm việc với cơ sở dữ liệu

Tạo cơ sở dữ liệu với tên được chỉ định nếu tên đó không tồn tại, nếu tên đã tồn tại thì bỏ qua:

CREATE DATABASE [IF NOT EXISTS] database_name;

Sử dụng cơ sở dữ liệu hoặc thay đổi cơ sở dữ liệu hiện tại thành cơ sở dữ liệu khác mà bạn đang làm việc:

USE database_name;

Bỏ vĩnh viễn một cơ sở dữ liệu với một tên cụ thể. Tất cả các tệp vật lý được liên kết với cơ sở dữ liệu sẽ bị xóa.

DROP DATABASE [IF EXISTS] database_name;

Hiển thị tất cả cơ sở dữ liệu có sẵn trong máy chủ cơ sở dữ liệu MySQL hiện tại

SHOW DATABASE;

Làm việc với bảng

Hiển thị tất cả các bảng trong cơ sở dữ liệu hiện tại.

SHOW TABLES;

Tạo một bảng mới

CREATE TABLE [IF NOT EXISTS] table_name(
  column_list
);

Thêm một cột mới vào một bảng:

ALTER TABLE table 
ADD [COLUMN] column_name;

Xóa một cột khỏi bảng:

ALTER TABLE table_name
DROP [COLUMN] column_name;

Thêm index có tên cụ thể vào bảng trên cột:

ALTER TABLE table 
ADD INDEX [name](column, ...);

Thêm khóa chính vào bảng:

ALTER TABLE table_name 
ADD PRIMARY KEY (column_name,...);

Xóa khóa chính của bảng:

ALTER TABLE table_name
DROP PRIMARY KEY;

Drop Table:

DROP TABLE [IF EXISTS] table_name;

Hiển thị thông tin các cột của bảng:

DESCRIBE table_name;

Hiển thị thông tin của một cột trong bảng:

DESCRIBE table_name column_name;

Làm việc với các index

Tạoindex với tên được chỉ định trên bảng:

CREATE INDEX index_name
ON table_name (column,...);

Drop một index :

DROP INDEX index_name;

Tạo một unique index :

CREATE UNIQUE INDEX index_name 
ON table_name (column,...);

Làm việc với các view

View là bảng ảo có thể được tạo ra từ query và giúp giới hạn hoặc kết nối nhiều bảng lại với nhau thành bảng dữ liệu mong muốn.

Tạo một view mới:

CREATE VIEW [IF NOT EXISTS] view_name 
AS 
  select_statement;

Tạo một view mới với WITH CHECK OPTION:

CREATE VIEW [IF NOT EXISTS] view_name 
AS select_statement
WITH CHECK OPTION;

Tạo hoặc thay thế một dạng view:

CREATE OR REPLACE view_name 
AS 
select_statement;

Drop một view:

DROP VIEW [IF EXISTS] view_name;

Drop nhiều view:

DROP VIEW [IF EXISTS] view1, view2, ...;

Đổi tên view:

RENAME TABLE view_name
TO new_view_name;

Hiển thị các view từ cơ sở dữ liệu:

SHOW FULL TABLES
[{FROM | IN } database_name]
WHERE table_type = 'VIEW';

Làm việc với các trigger trong MySQL

Trigger là một đối tượng được định danh trong CSDL và được gắn chặt với một sự kiện xảy ra trên một bảng nào đó (điều này có nghĩa là nó sẽ được tự động thực thi khi xảy ra một sự kiện trên một bảng). Các sự kiện này bao gồm: chèn (Insert), xóa (Delete) hay cập nhật (Update) một bảng.

Tạo một trigger mới:

CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table_name FOR EACH ROW
trigger_body;

Drop một trigger:

DROP TRIGGER [IF EXISTS] trigger_name;

Hiển thị các trigger trong cơ sở dữ liệu:

SHOW TRIGGERS
[{FROM | IN} database_name]
[LIKE 'pattern' | WHERE search_condition];

Làm việc với các stored procedures trong MySQL

Stored Procedure là một tập hợp các câu lệnh SQL dùng để thực thi một nhiệm vụ nhất định. Nó hoạt động giống như một hàm trong các ngôn ngữ lập trình khác.

Tạo một stored procedures:

DELIMITER $$

CREATE PROCEDURE procedure_name(parameter_list)
BEGIN
   body;
END $$

DELIMITER ;

Drop một stored procedures:

DROP PROCEDURE [IF EXISTS] procedure_name;

Hiển thị các stored procedures:

SHOW PROCEDURE STATUS 
[LIKE 'pattern' | WHERE search_condition];

Làm việc với các function trong MySQL

Function Là đoạn chương trình kịch bản (programming scripts) với các câu lệnh SQL nhúng (embedded SQL) được lưu dưới dạng đã được biên dịch và thi hành thực tiếp bởi MySQL server.

Tạo một fuction:

DELIMITER $$
 
CREATE FUNCTION function_name(parameter_list)
RETURNS datatype
[NOT] DETERMINISTIC
BEGIN
 -- statements
END $$
 
DELIMITER ;

Remove function:

DROP FUNCTION [IF EXISTS] function_name;

Hiển thị các function:

SHOW FUNCTION STATUS 
[LIKE 'pattern' | WHERE search_condition];

Truy vấn dữ liệu từ bảng trong MySQL

Truy vấn tất cả dữ liệu từ một bảng:

SELECT * FROM table_name;

Truy vấn dữ liệu từ một hoặc nhiều cột của bảng:

SELECT 
    column1, column2, ...
FROM 
    table_name;

Xóa các hàng trùng lặp khỏi kết quả của một truy vấn:

SELECT 
    DISTINCT (column)
FROM 
   table_name;

Truy vấn dữ liệu với bộ lọc sử dụng mệnh đề WHERE:

SELECT select_list
FROM table_name
WHERE condition;

Thay đổi đầu ra của tên cột bằng alias cột :

SELECT 
    column1 AS alias_name,
    expression AS alias,
    ...
FROM 
    table_name;

Truy vấn dữ liệu từ nhiều bảng bằng cách sử dụng inner join :

SELECT select_list
FROM table1
INNER JOIN table2 ON condition;

Truy vấn dữ liệu từ nhiều bảng bằng cách sử dụng phép left join:

SELECT select_list
FROM table1 
LEFT JOIN table2 ON condition;

Truy vấn dữ liệu từ nhiều bảng bằng cách sử dụng right join:

SELECT select_list 
FROM table1 
RIGHT JOIN table2 ON condition;

Cross join:

SELECT select_list
FROM table1
CROSS JOIN table2;

Đếm hàng trong bảng.

SELECT COUNT(*)
FROM table_name;

Sắp xếp tập hợp kết quả:

SELECT 
    select_list
FROM 
    table_name
ORDER BY 
    column1 ASC [DESC], 
    column2 ASC [DESC];

Nhóm các hàng bằng cách sử dụng mệnh đề GROUP BY .

SELECT select_list
FROM table_name
GROUP BY column_1, column_2, ...;

Lọc nhóm bằng mệnh đề HAVING:

SELECT select_list
FROM table_name
GROUP BY column1
HAVING condition;

Sửa đổi dữ liệu trong bảng MySQL

Chèn một hàng mới vào bảng:

INSERT INTO table_name(column_list)
VALUES(value_list);

Chèn nhiều hàng vào một bảng:

INSERT INTO table_name(column_list)
VALUES(value_list1),
      (value_list2),
      (value_list3),
      ...;

Cập nhật tất cả các hàng trong bảng:

UPDATE table_name
SET column1 = value1,
    ...;

Cập nhật dữ liệu cho một tập hợp các hàng được chỉ định bởi một điều kiện trong mệnh đề WHERE.

UPDATE table_name
SET column_1 = value_1,
    ...
WHERE condition;

Update với join:

UPDATE 
    table1, 
    table2
INNER JOIN table1 ON table1.column1 = table2.column2
SET column1 = value1,
WHERE condition;

Xóa tất cả các hàng trong bảng

DELETE FROM table_name;

Xóa các hàng được chỉ định bởi một điều kiện:

DELETE FROM table_name
WHERE condition;

Xóa bằng join

DELETE table1, table2
FROM table1
INNER JOIN table2
    ON table1.column1 = table2.column2
WHERE condition;

Tìm kiếm Select trong MySQL

Tìm kiếm dữ liệu bằng toán tử LIKE:

SELECT select_list
FROM table_name
WHERE column LIKE '%pattern%';

Tìm kiếm văn bản bằng cách sử dụng một biểu thức chính quy với RLIKE.

SELECT select_list
FROM table_name
WHERE column RLIKE 'regular_expression';

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 1

No votes so far! Be the first to rate this post.