在MySQL中创建数据库的基本语法是:
CREATE DATABASE 数据库名称;
例如,创建一个名为my_database
的数据库:
CREATE DATABASE my_database;
CREATE DATABASE my_database
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS my_database;
创建数据库后,需要选择它才能在其中创建表:
USE my_database;
创建表的基本语法:
CREATE TABLE 表名 (
列名1 数据类型 [约束条件],
列名2 数据类型 [约束条件],
...
[表级约束条件]
);
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
TINYINT
, SMALLINT
, MEDIUMINT
, INT
, BIGINT
FLOAT
, DOUBLE
, DECIMAL
CHAR
, VARCHAR
, TEXT
, BLOB
DATE
, TIME
, DATETIME
, TIMESTAMP
, YEAR
PRIMARY KEY
- 主键FOREIGN KEY
- 外键NOT NULL
- 非空UNIQUE
- 唯一DEFAULT
- 默认值AUTO_INCREMENT
- 自增SHOW DATABASES;
SHOW TABLES;
DESCRIBE 表名;
-- 或
SHOW COLUMNS FROM 表名;
DROP DATABASE 数据库名;
DROP TABLE 表名;
DROP DATABASE IF EXISTS 数据库名;
DROP TABLE IF EXISTS 表名;
-- 创建数据库
CREATE DATABASE blog_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 使用数据库
USE blog_system;
-- 创建用户表
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE,
bio TEXT,
avatar_url VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建文章表
CREATE TABLE articles (
article_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
user_id INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 创建评论表
CREATE TABLE comments (
comment_id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT NOT NULL,
user_id INT NOT NULL,
article_id INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (article_id) REFERENCES articles(article_id)
);
通过以上步骤,您就可以在MySQL中成功创建数据库和表了。