MySQL是当前最流行的关系型数据库之一,常用于Web应用程序中。本文将从多个方面详细阐述MySQL基本操作,包括数据库和表的创建、查询、更新和删除等。
一、数据库操作
1、创建数据库
CREATE DATABASE database_name;
2、删除数据库
DROP DATABASE database_name;
3、使用数据库
USE database_name;
4、查询所有数据库
SHOW DATABASES;
5、查询某个数据库的所有表
SHOW TABLES FROM database_name;
二、表操作
1、创建表
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
2、删除表
DROP TABLE table_name;
3、查询表结构
DESC table_name;
4、修改表结构(添加列)
ALTER TABLE table_name ADD column_name datatype;
5、修改表结构(修改列)
ALTER TABLE table_name MODIFY column_name new_datatype;
6、修改表结构(删除列)
ALTER TABLE table_name DROP COLUMN column_name;
三、数据操作
1、插入数据
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
2、查询数据
SELECT column1, column2, ... FROM table_name WHERE condition;
3、更新数据
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
4、删除数据
DELETE FROM table_name WHERE condition;
5、查询数据总数
SELECT COUNT(*) FROM table_name;
四、索引操作
1、创建索引
CREATE INDEX index_name ON table_name (column1, column2, ...);
2、删除索引
DROP INDEX index_name ON table_name;
3、查询索引
SHOW INDEX FROM table_name;
五、备份与恢复
1、备份数据
mysqldump -u username -p database_name > backup_file.sql;
2、恢复数据
mysql -u username -p database_name < backup_file.sql;
六、用户及权限操作
1、创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
2、授予权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
3、修改密码
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('newpassword');
4、撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'localhost';
5、删除用户
DROP USER 'username'@'localhost';
七、错误处理
1、查看错误信息
SHOW ERRORS;
2、查看警告信息
SHOW WARNINGS;
3、设置最大错误数
SET GLOBAL max_error_count = value;
4、处理错误信息
BEGIN
...
IF condition THEN
SIGNAL SQLSTATE 'error_code' SET MESSAGE_TEXT = 'error_message';
END IF;
...
END;
八、性能优化
1、使用索引
CREATE INDEX index_name ON table_name (column1, column2, ...);
2、使用连接池
<Resource name="jdbc/db" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/database_name"
username="dbuser" password="dbpassword"
initialSize="10" maxActive="100" maxIdle="20" minIdle="10"
validationQuery="SELECT 1"
testOnBorrow="true"
/>
3、优化SQL语句
SELECT column1, column2 FROM table_name WHERE condition; (优化前)
SELECT column1, column2 FROM table_name WHERE column3 = 'value'; (优化后)
4、避免全表扫描
SELECT column1, column2 FROM table_name WHERE column3 LIKE '%value%'; (避免)
5、缓存查询结果
CACHE query_name SELECT column1, column2 FROM table_name WHERE condition;
以上内容是MySQL基本操作的详细阐述,希望能对大家有所帮助。