Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các lệnh quản trị cơ sở dữ liệu cơ bản của MySQL - Phần I

Cơ sở dữ liệu là một tập hợp dữ liệu có cấu trúc được lưu trữ dưới dạng điện tử. Khái niệm cơ sở dữ liệu đã được tổ tiên chúng ta biết đến ngay cả khi không có máy tính, tuy nhiên việc tạo và duy trì cơ sở dữ liệu như vậy là một công việc rất tẻ nhạt. Trong cơ sở dữ liệu thủ công, nói về 100 , nếu bạn phải tìm kiếm tất cả nhân viên có mức lương dưới 10k , hãy nghĩ xem nó sẽ khó khăn đến mức nào.

Trong thế giới ngày nay, bạn không thể thoát khỏi Cơ sở dữ liệu . Hiện tại, hàng triệu cơ sở dữ liệu đang hoạt động trên khắp thế giới để lưu trữ và tìm nạp dữ liệu thuộc mọi loại dữ liệu, có thể là dữ liệu chiến lược, hồ sơ nhân viên hoặc công nghệ web.

Cơ sở dữ liệu thường được gọi là quy trình back-end, vì nó không hiển thị cho người dùng cuối cũng như Người dùng cuối tương tác trực tiếp với cơ sở dữ liệu. Chúng hoạt động trên quy trình front-end viz., PHP , VB , ASP.NET , v.v. và yêu cầu giao diện người dùng xử lý với cơ sở dữ liệu ở giao diện người dùng.

Có một số máy chủ và máy khách cơ sở dữ liệu có sẵn như Oracle , MySQL , MySQLi , MariaDB, MongoDB, v.v. Cú pháp của tất cả những thứ này ít nhiều giống nhau. Làm chủ một cơ sở dữ liệu có nghĩa là giành quyền kiểm soát hầu hết chúng và học các truy vấn của cơ sở dữ liệu rất dễ dàng và thú vị.

Hãy bắt đầu với các truy vấn đơn giản trên cơ sở dữ liệu. Chúng tôi sẽ sử dụng MySQL đi kèm với hầu hết Linux bản phân phối theo mặc định, bạn có thể cài đặt nó theo cách thủ công từ kho lưu trữ, nếu nó không được cài đặt theo mặc định trong trường hợp của bạn.

Một truy vấn cơ sở dữ liệu là một đoạn mã đơn giản được gửi đến cơ sở dữ liệu để nhận được kết quả tùy chỉnh và tinh chỉnh, theo yêu cầu.

Cài đặt cơ sở dữ liệu MySQL

Sử dụng “ yum ”Hoặc“ apt ”Trình quản lý gói để cài đặt MySQL Cơ sở dữ liệu.

# yum install mysql mysql-client mysql-server  (on Yum based Systems)

# apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Khởi động MySQL

Khởi động MySQL dịch vụ cơ sở dữ liệu như:

# service mysqld start
or
# service mysql start

Cài đặt tốt MySQL cơ sở dữ liệu sẽ đưa bạn đến cấu hình nơi bạn được yêu cầu thiết lập quản trị viên mật khẩu, v.v. Sau khi hoàn tất cài đặt và khởi động máy chủ, hãy truy cập MySQL của bạn nhắc nhở.

# mysql -u root -p

Thay thế gốc với tên người dùng đã định cấu hình của bạn và nhập mật khẩu khi được nhắc, nếu thông tin xác thực đăng nhập chính xác, bạn sẽ ở MySQL của mình nhanh chóng trong nháy mắt của bạn.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 195 

Server version: 5.5.31-0+wheezy1 (Debian) 

Copyright (c) 2000, 2013, 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>

Giờ đây, việc thực hiện các truy vấn tại dấu nhắc này rất mang tính giáo dục và thú vị.

Tạo cơ sở dữ liệu tecmint
mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Lưu ý :Nó báo cáo rằng truy vấn là chính xác, có nghĩa là cơ sở dữ liệu đã được tạo. Bạn có thể xác minh cơ sở dữ liệu mới tạo của mình là.

mysql> show databases; 
+--------------------+
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
9 rows in set (0.00 sec) 
mysql>

Lưu ý :Lưu ý cơ sở dữ liệu của bạn trong kết quả ở trên.

Chọn cơ sở dữ liệu

Bây giờ bạn cần chọn cơ sở dữ liệu để làm việc với nó.

mysql> use tecmint;
Database changed
mysql>
Tạo bảng trong MySQL

Ở đây, chúng tôi sẽ tạo một bảng nói “ minttec ”Với ba trường là:

mysql> CREATE TABLE minttec (
    -> id Int(3), 
    -> first_name Varchar (15), 
    -> email Varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.08 sec) 
mysql>

Lưu ý :Truy vấn trên cho biết OK có nghĩa là bảng đã được tạo mà không có bất kỳ lỗi nào. Để xác minh bảng, hãy chạy truy vấn dưới đây.

mysql> show tables; 
+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| minttec           | 
+-------------------+ 

1 row in set (0.00 sec) 

mysql>

Mọi thứ vẫn ổn cho đến bây giờ. Chuẩn rồi! Bạn có thể xem các cột bạn đã tạo trong bảng “ minttec ”Như:

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec)

mysql>

Nó không hơn gì một phép thuật. Dù sao thì tôi cũng sẽ cho bạn biết về các kiểu khai báo và ý nghĩa của chúng.

  1. Int là Số nguyên
  2. Varchar là char có độ dài thay đổi như được xác định. Giá trị sau Loại là độ dài của trường mà nó có thể lưu trữ dữ liệu.

Được rồi, bây giờ chúng ta cần thêm cột có nội dung ‘ last_name ‘Sau cột‘ first_name ‘.

mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; 
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

Bây giờ, hãy xác minh nó trong bảng của bạn.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 

4 rows in set (0.00 sec) 

mysql>
Thêm cột trong MySQL

Bây giờ chúng ta sẽ thêm một cột ở bên phải, nói rằng một cột ‘ quốc gia ‘Ở bên phải của email .

mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; 
Query OK, 0 rows affected (0.16 sec) 
Records: 0  Duplicates: 0  Warnings: 0 

mysql>

Xác minh truy vấn chèn cột ở trên.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
| country    | varchar(15) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) 

mysql>
Chèn giá trị vào trường

Còn việc chèn các giá trị vào trường thì sao?

mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email protected]' , 'India' );
Query OK, 1 row affected (0.02 sec) 

mysql>

Làm thế nào về việc chèn nhiều hơn 1 giá trị tại một thời điểm trong bảng trên.

mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email protected]' , 'India' ), ('3' , 'user' , 'singh' , '[email protected]' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email protected]' , 'India' );
Query OK, 3 rows affected (0.05 sec) 
Records: 3  Duplicates: 0  Warnings: 0

Xác minh phần chèn ở trên.

mysql> select * from minttec; 
+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+ 
|    1 | Ravi	    | Saive     | [email protected] | India   | 
|    2 | Narad      | Shrestha  | [email protected]     | India   | 
|    3 | user       | singh     | [email protected]      | Aus     | 
|    4 | tecmint    | [dot]com  | [email protected] | India   | 
+------+------------+-----------+-------------------+---------+ 

4 rows in set (0.00 sec)

mysql>
Xóa giá trị trong trường

Giả sử mục nhập thứ ba trong đầu ra ở trên không hợp lệ và chúng tôi cần xóa mục nhập thứ ba.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Xác minh thao tác trên.

mysql> select * from minttec;

+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+
|    1 | Ravi       | Saive     | [email protected] | India   | 
|    2 | Narad      | Shrestha  | [email protected]     | India   | 
|    4 | tecmint    | [dot]com  | [email protected] | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)
Cập nhật giá trị trong trường

Id (=4) cần được chỉnh sửa.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Xác minh truy vấn trên.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Lưu ý :Truy vấn ở trên, như được thực hiện không phải là một ý kiến ​​hay. Nó sẽ thay đổi id thành ‘ 4 ‘Tên đầu tiên là‘ tecmint ’ ở đâu? . Bạn nên sử dụng nhiều hơn một cột với mệnh đề where để nhận được lỗi tối thiểu, như:

mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; 
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>
Xóa cột trong MySQL

Hãy để chúng tôi bỏ (xóa) một cột mà chúng tôi cho rằng không có tầm quan trọng, nói rằng ‘ quốc gia ‘Đây.

mysql> ALTER TABLE minttec drop country; 
Query OK, 3 rows affected (0.15 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>

Xác minh bảng.

mysql> select * from minttec; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email protected] | 
|    2 | Narad      | Shrestha  | [email protected]     | 
|    6 | tecmint    | [dot]com  | [email protected] | 
+------+------------+-----------+-------------------+
3 rows in set (0.00 sec) 

mysql>
Đổi tên bảng trong MySQL

Bạn có nghĩ rằng tên bảng của chúng tôi “ minttec ”Không liên quan lắm. Làm thế nào về việc thay đổi nó thành tecmint_table .

mysql> RENAME TABLE minttec TO tecmint_table; 
Query OK, 0 rows affected (0.03 sec)

mysql>
Liệt kê tất cả các Bảng

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

mysql> show tables; 

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+
1 row in set (0.00 sec) 

mysql>

Bảng đã được đổi tên. Bây giờ, hãy sao lưu MySQL ở trên cơ sở dữ liệu, trong một dòng lệnh duy nhất mà không cần bất kỳ công cụ phức tạp nào. Chạy mã dưới đây tại thiết bị đầu cuối của bạn và không chạy trên lời nhắc mysql.

# mysqldump -u root -p tecmint > tecmint.sql

check the dumped file on your desktop which would have contents something like
-- MySQL dump 10.13  Distrib 5.5.31, for debian-linux-gnu (i686) --
-- Server version 5.5.31-0+wheezy1 -- 
Dump completed on 2013-09-02 12:55:37

Luôn luôn là một ý kiến ​​hay để duy trì Sao lưu cơ sở dữ liệu MySQL. Khôi phục MySQL đã sao lưu Dữ liệu lại là một dòng mã đơn giản mà bạn cần chạy tại dấu nhắc đầu cuối chứ không phải tại dấu nhắc mysql của bạn.

Tuy nhiên, hãy đợi trước tiên, chúng tôi sẽ xóa cơ sở dữ liệu để xác minh xem quá trình khôi phục của chúng tôi có hoàn hảo hay không.

Xóa cơ sở dữ liệu
mysql> drop database tecmint; 
Query OK, 1 row affected (0.02 sec)

Kiểm tra cơ sở dữ liệu ‘tecmint’ trên máy chủ cơ sở dữ liệu của bạn.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| my_database        | 
| mysql              | 
| performance_schema | 
| phpmyadmin         | 
| sisso              | 
| test               | 
+--------------------+

7 rows in set (0.00 sec) 
mysql>

Tuyệt quá! Cơ sở dữ liệu bị mất, nhưng chúng tôi không cần lo lắng, chúng tôi đang có bản sao lưu.

Khôi phục cơ sở dữ liệu

Để khôi phục cơ sở dữ liệu bị mất, hãy chạy lệnh sau.

# mysql -u root -p tecmint < tecmint.sql
Enter password:
ERROR 1049 (42000): Unknown database 'tecmint'

OOPS ! Đã xảy ra lỗi, chúng tôi chưa tạo cơ sở dữ liệu tecmint . Vì vậy, hãy chuyển đến lời nhắc mysql của bạn và tạo cơ sở dữ liệu ‘ tecmint ‘.

mysql> create database tecmint; 
Query OK, 1 row affected (0.00 sec) 

mysql>

Bây giờ là lúc để chạy lệnh khôi phục tại dấu nhắc trình bao của bạn (nghiêm túc).

# mysql -u root -p tecmint < tecmint.sql 
Enter password:

Xác minh cơ sở dữ liệu của bạn.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
8 rows in set (0.00 sec)

Xác minh nội dung của cơ sở dữ liệu.

mysql> show tables from tecmint;

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+ 
1 row in set (0.00 sec)

mysql>

Xác minh nội dung của bảng đã khôi phục của bạn.

mysql> select * from tecmint_table; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email protected] | 
|    2 | Narad      | Shrestha  | [email protected]     | 
|    6 | tecmint    | [dot]com  | [email protected] | 
+------+------------+-----------+-------------------+

3 rows in set (0.00 sec)

Đây không phải là phần cuối chắc chắn, chúng tôi sẽ đề cập đến khái niệm khóa chính , khóa ngoại , nhiều bảng truy vấn đang chạy sử dụng PHP đơn giản trong phần tiếp theo của bài viết.

Đừng quên cho chúng tôi biết , cảm nhận của bạn khi xem qua bài viết. Nhận xét của bạn được đánh giá cao. Giữ Khỏe mạnh Điều chỉnh , vẫn kết nối với Tecmint .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cố gắng lấy thuộc tính của non-object - CodeIgniter

  2. Định nghĩa lược đồ của DBMS

  3. Ném lỗi ngăn cập nhật bảng trong trình kích hoạt MySQL

  4. Làm cách nào để hủy thao tác INSERT trong trình kích hoạt MySql?

  5. Hiểu bộ ký tự và cụm từ trong MySQL