您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# MySQL数据库和数据表的基本操作指南
## 一、数据库基本操作
### 1. 创建数据库
```sql
CREATE DATABASE database_name;
-- 示例:创建名为shop的数据库
CREATE DATABASE shop;
创建数据库时可指定字符集和排序规则:
CREATE DATABASE database_name
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- 查看所有数据库
SHOW DATABASES;
-- 查看特定数据库创建语句
SHOW CREATE DATABASE database_name;
USE database_name;
-- 示例:使用shop数据库
USE shop;
ALTER DATABASE database_name
CHARACTER SET charset_name
COLLATE collation_name;
DROP DATABASE database_name;
-- 危险操作!会删除所有数据
DROP DATABASE IF EXISTS old_database;
基本语法:
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
);
示例(创建用户表):
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
);
-- 查看当前数据库所有表
SHOW TABLES;
-- 查看表结构
DESCRIBE table_name;
DESC table_name; -- 简写
-- 查看建表语句
SHOW CREATE TABLE table_name;
ALTER TABLE table_name
ADD COLUMN column_name datatype constraints;
-- 修改数据类型
ALTER TABLE table_name
MODIFY COLUMN column_name new_datatype;
-- 重命名列
ALTER TABLE table_name
CHANGE COLUMN old_name new_name datatype;
ALTER TABLE table_name
DROP COLUMN column_name;
ALTER TABLE old_name RENAME TO new_name;
-- 或
RENAME TABLE old_name TO new_name;
DROP TABLE table_name;
-- 安全删除
DROP TABLE IF EXISTS temp_table;
-- 完整插入
INSERT INTO table_name (col1, col2, ...)
VALUES (val1, val2, ...);
-- 批量插入
INSERT INTO users (username, email)
VALUES
('user1', 'user1@example.com'),
('user2', 'user2@example.com');
基础查询:
SELECT * FROM table_name;
SELECT col1, col2 FROM table_name;
条件查询:
SELECT * FROM products WHERE price > 100;
SELECT * FROM users WHERE username LIKE 'j%';
排序和限制:
SELECT * FROM orders ORDER BY order_date DESC LIMIT 10;
UPDATE table_name
SET col1 = val1, col2 = val2
WHERE condition;
-- 示例:修改用户密码
UPDATE users SET password = 'new_hash' WHERE id = 5;
DELETE FROM table_name WHERE condition;
-- 清空表(不可恢复)
TRUNCATE TABLE table_name;
-- 创建时指定
CREATE TABLE products (
product_id INT PRIMARY KEY,
...
);
-- 添加主键
ALTER TABLE table_name
ADD PRIMARY KEY (column_name);
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
ALTER TABLE products
ADD UNIQUE (product_code);
CREATE TABLE employees (
salary DECIMAL(10,2),
CHECK (salary > 0)
);
-- 单列索引
CREATE INDEX idx_name ON table_name (column_name);
-- 复合索引
CREATE INDEX idx_name ON users (last_name, first_name);
-- 唯一索引
CREATE UNIQUE INDEX idx_email ON users (email);
SHOW INDEX FROM table_name;
DROP INDEX index_name ON table_name;
CREATE VIEW view_name AS
SELECT columns FROM tables WHERE conditions;
SELECT * FROM view_name;
ALTER VIEW view_name AS new_select_statement;
DROP VIEW IF EXISTS view_name;
DELIMITER //
CREATE PROCEDURE get_user(IN user_id INT)
BEGIN
SELECT * FROM users WHERE id = user_id;
END //
DELIMITER ;
CALL get_user(1);
DELIMITER //
CREATE FUNCTION count_users() RETURNS INT
BEGIN
DECLARE user_count INT;
SELECT COUNT(*) INTO user_count FROM users;
RETURN user_count;
END //
DELIMITER ;
START TRANSACTION;
-- SQL语句
COMMIT; -- 或 ROLLBACK;
SET autocommit = 0; -- 关闭自动提交
SET autocommit = 1; -- 开启自动提交
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'localhost';
mysqldump -u username -p database_name > backup.sql
mysql -u username -p database_name < backup.sql
本文详细介绍了MySQL数据库和数据表的基本操作,包括: 1. 数据库的创建、查看、修改和删除 2. 数据表的结构操作和内容操作 3. 各种约束和索引的使用 4. 视图、存储过程和事务控制 5. 用户权限管理和数据备份恢复
掌握这些基础操作是进行MySQL数据库开发和管理的前提,建议读者在实际环境中多加练习,逐步深入理解各种操作的细节和适用场景。 “`
这篇文章共计约2100字,采用Markdown格式编写,包含了MySQL数据库和数据表操作的全面指南,从基础操作到进阶功能都有涉及,并提供了大量实用的SQL示例代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。