Đây là cách đặt cơ sở dữ liệu mặc định cho tất cả các truy vấn tiếp theo.
MySQL cho phép bạn đặt một cơ sở dữ liệu mặc định được sử dụng làm bối cảnh cho bất kỳ câu lệnh SQL nào tiếp theo. Có thể có nhiều cơ sở dữ liệu trên máy chủ và MySQL cần biết cơ sở dữ liệu nào bạn muốn chạy bất kỳ / s câu lệnh SQL nào. Đặt cơ sở dữ liệu mặc định là một khởi đầu tốt vì nó giúp bạn không phải chỉ định cơ sở dữ liệu trong truy vấn.
Bạn có thể thay đổi DB mặc định thường xuyên nếu bạn muốn. Nó không nhất thiết phải là một thứ "đặt và quên". Tùy thuộc vào số lượng cơ sở dữ liệu bạn đang làm việc, bạn có thể chuyển đổi DB mặc định khá thường xuyên.
Bạn có thể đặt cơ sở dữ liệu mặc định theo chương trình hoặc thông qua giao diện đồ họa.
Sử dụng MySQL Workbench GUI
Nhấp chuột phải vào tên cơ sở dữ liệu trong SCHEMAS tab (trong menu bên trái):
Cơ sở dữ liệu mặc định bây giờ sẽ được liệt kê bằng in đậm kiểu chữ:
Có lập trình
USE
câu lệnh yêu cầu MySQL sử dụng một cơ sở dữ liệu cụ thể làm cơ sở dữ liệu mặc định khi bạn chạy các câu lệnh SQL tiếp theo.
USE FruitShop;
Giờ đây, mọi truy vấn tiếp theo sẽ được chạy trên FruitShop DB. Như thế này:
USE FruitShop; SELECT * FROM Fruit;
CREATE DATABASE
Tập lệnh
USE
tuyên bố thực sự có thể hữu ích trong các tập lệnh tạo cơ sở dữ liệu của chúng tôi. Khi chúng tôi đã tạo cơ sở dữ liệu của mình, chúng tôi có thể đặt nó làm cơ sở dữ liệu mặc định bằng cách chỉ định USE
tuyên bố chống lại nó.
Làm điều này sẽ đảm bảo rằng bất kỳ câu lệnh SQL nào tiếp theo sẽ sử dụng cơ sở dữ liệu mới được tạo của chúng tôi làm DB hiện tại (trừ khi được chỉ định khác trong tập lệnh). Điều này rất quan trọng vì nó cho MySQL biết DB nào để tạo các bảng dựa trên:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Chuyển đổi cơ sở dữ liệu mặc định
Không có gì có thể ngăn bạn chuyển đổi cơ sở dữ liệu mặc định nhiều lần trong các tập lệnh của mình. Vì vậy, nếu bạn có hai cơ sở dữ liệu, bạn có thể làm như sau:
USE FruitShop; SELECT * FROM Fruit; USE VegeShop; SELECT * FROM Vegetables;
Truy vấn trên chọn tất cả các bản ghi từ
Fruit
trong
FruitShop
cơ sở dữ liệu và tất cả các bản ghi từ
Rau
trong
VegeShop
cơ sở dữ liệu. Không có USE
, MySQL sẽ không biết cơ sở dữ liệu nào để truy vấn cho mỗi câu lệnh.
Tất nhiên, đây là một ví dụ đơn giản hóa. Thường thì bạn sẽ thấy mình thực hiện các truy vấn phức tạp hơn đối với cơ sở dữ liệu của mình và kỹ thuật này thực sự có thể hữu ích.
Đủ điều kiện cho Tên DB trong Tuyên bố
Bất kể bạn có đặt cơ sở dữ liệu mặc định hay không, bạn cũng có thể chỉ định cơ sở dữ liệu bên trong tuyên bố.
Để thực hiện việc này, hãy sử dụng cú pháp sau:database.table.column
Đây là một ví dụ:
SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;
Ghi đè DB Mặc định - Chỉ định Cơ sở dữ liệu trong một Truy vấn
Đặt cơ sở dữ liệu mặc định không ngăn cản bạn truy vấn các cơ sở dữ liệu khác. Ngay cả sau khi bạn đã đặt cơ sở dữ liệu mặc định, bạn vẫn có thể truy vấn các cơ sở dữ liệu khác mà không cần phải đặt chúng làm cơ sở dữ liệu mặc định. Bạn vẫn có thể chỉ định cơ sở dữ liệu nào sẽ sử dụng trong các truy vấn của mình. Trên thực tế, bạn có thể sử dụng nhiều cơ sở dữ liệu trong một truy vấn duy nhất bằng phương pháp này.
Vì vậy, ví dụ trên cũng có thể được viết như sau:
USE FruitShop; SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;