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

Tạo bảng trong MySQL

Trong MySQL, bạn có thể tạo bảng thông qua GUI hoặc bằng cách chạy mã SQL. Đây là tóm tắt về cả hai phương pháp.

Bây giờ chúng ta đã tạo cơ sở dữ liệu của mình, hãy tạo một số bảng.

Tạo bảng qua GUI

Một cách để tạo bảng là thông qua MySQL Workbench GUI. Đây là một lựa chọn dễ dàng cho những người thích giao diện người dùng đồ họa.

Ngay cả khi bạn bắt đầu bằng cách sử dụng GUI, tôi khuyên bạn nên làm quen với việc tạo bảng theo chương trình bằng cách sử dụng CREATE TABLE tuyên bố.

CREATE TABLE Tuyên bố

CREATE TABLE câu lệnh hoạt động chính xác như tên gợi ý - nó tạo ra một bảng.

Tuy nhiên, bạn cần cung cấp thông tin về bảng mà bạn muốn MySQL tạo. Ví dụ:tên bảng, tên cột và kiểu dữ liệu của chúng, giá trị mặc định, ràng buộc, v.v.

Đây là ví dụ chúng tôi đã sử dụng trong trang trước:

CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);

Thao tác này tạo một bảng có tên Fruit chứa hai cột:FruitNameDateEntered .

FruitName cột sử dụng kiểu dữ liệu VARCHAR(20) , có nghĩa là nó chấp nhận dữ liệu là VARCHAR (chuỗi có độ dài thay đổi) dài tối đa 20 ký tự.

DateEntered cột sử dụng kiểu dữ liệu DATETIME có nghĩa là cột chấp nhận định dạng DATETIME (ngày và giờ) ở định dạng sau YYYY-MM-DD HH:MM:SS .

Bạn có thể chỉ định rằng một cột phải luôn chứa một giá trị (không được là "null"). Để thực hiện việc này, hãy bao gồm NOT NULL trong thông số kỹ thuật của cột đó (ví dụ bên dưới).

Nếu bạn cố gắng chèn dữ liệu không ở định dạng được chỉ định cho cột đó, bạn sẽ nhận được lỗi.

Tạo nhiều bảng

Để tạo nhiều bảng, bạn chỉ cần thêm CREATE TABLE cho mỗi bảng bạn cần tạo.

CREATE TABLE table_1 (...);
CREATE TABLE table_2 (...);

Ví dụ

Trước đây chúng tôi đã tạo một cơ sở dữ liệu trống có tên là "FruitShop". Nhưng chúng tôi đã không tạo bất kỳ bảng nào vào thời điểm đó. Hãy cập nhật tập lệnh để nó tạo cơ sở dữ liệu và hai bảng. Chúng tôi sẽ thêm một số nội dung khác vào mã.

DROP DATABASE IF EXISTS FruitShop;
CREATE DATABASE FruitShop;
USE FruitShop;

CREATE TABLE Units (
UnitId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
UnitName VARCHAR(10) NOT NULL,
DateEntered DATETIME NOT NULL,
DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (UnitId)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE Fruit (
FruitId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
FruitName VARCHAR(45) NOT NULL, 
Inventory SMALLINT UNSIGNED NOT NULL,
UnitId TINYINT UNSIGNED NOT NULL,
DateEntered DATETIME NOT NULL,
DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (FruitId),
CONSTRAINT fkFruitUnits FOREIGN KEY (UnitId) REFERENCES Units (UnitId) ON DELETE RESTRICT ON UPDATE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

Chạy tập lệnh trên và sau đó làm mới cột bên trái của MySQL Workbench. Bạn sẽ thấy FruitShop mới tạo của mình cơ sở dữ liệu được liệt kê trong SCHEMAS tab.

Mở rộng Bảng và bạn sẽ thấy các bảng vừa tạo:

Bạn cũng có thể mở rộng từng bảng để xem các cột của nó và bất kỳ đối tượng nào khác mà bạn đã tạo cho bảng đó.

Hiển thị thông tin bảng theo lập trình

Bạn cũng có thể hiển thị thông tin bảng theo chương trình. Tức là, bằng cách nhập lệnh SQL để hiển thị thông tin bạn cần.

Trong ví dụ sau, chúng tôi đặt cơ sở dữ liệu mặc định là FruitShop bằng cách sử dụng USE FruitShop . Sau đó, chúng tôi yêu cầu MySQL hiển thị tất cả các bảng cho cơ sở dữ liệu mặc định (bằng cách sử dụng SHOW TABLES ):

USE FruitShop;
SHOW TABLES;

Bạn cũng có thể tìm ra cấu trúc của một bảng nhất định bằng cách sử dụng lệnh sau (chỉ cần thay thế tên bảng bằng bảng bạn cần cấu trúc):

DESCRIBE Fruit;

Đây là kết quả của lệnh đó trên cơ sở dữ liệu của chúng tôi:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. create_series () tương đương trong MySQL

  2. Cách thực hiện các truy vấn tham gia bằng cách sử dụng Sequelize trên Node.js

  3. Không thể tải plugin xác thực 'caching_sha2_password'

  4. Tương đương với boom () để làm việc với chuỗi trong MySQL

  5. Sử dụng Oracle JDeveloper Snippets với MySQL