在MySQL中,各条SQL语句都有其特定的用途和使用方法,下面逐一列出常见的几种MySQL语句,并给出相应的例子和注意事项:
1. CREATE SCHEMA
或 CREATE DATABASE
语句
- 创建新的数据库:
CREATE DATABASE database_name;
-- 或者使用 SCHEMA 关键字,两者作用相同
CREATE SCHEMA database_name;
-- 如果希望数据库不存在时才创建,则使用:
CREATE DATABASE IF NOT EXISTS database_name;
注意事项:
- 需要有足够的权限才能创建数据库。
- 数据库名称遵循命名规则,不能与系统保留的关键字冲突。
- 可以通过
CHARACTER SET
和COLLATE
参数指定数据库的字符集和排序规则。
2. DROP DATABASE
或 DROP SCHEMA
语句
- 删除数据库:
DROP DATABASE database_name;
-- 防止数据库不存在时报错,可以加上 IF EXISTS 子句
DROP DATABASE IF EXISTS database_name;
注意事项:
- 此操作不可逆,执行后数据库及其包含的所有表、数据都会被永久删除。
- 必须拥有足够的权限才能执行此操作。
3. SHOW DATABASES
语句
- 列出所有可用的数据库:
SHOW DATABASES;
注意事项:
- 不一定能看到所有的数据库,取决于用户的权限范围。
4. SELECT 语句
- 查询数据:
SELECT column1, column2 FROM table_name;
-- 示例:从名为 'students' 的表中选择 'id' 和 'name' 列
SELECT id, name FROM students;
更复杂的查询示例:
SELECT * FROM students WHERE age > 18;
注意事项:
*
表示选择所有列。WHERE
子句用于过滤记录,可以根据条件筛选数据。- 可以使用
JOIN
、GROUP BY
、HAVING
、ORDER BY
等子句进一步完善查询功能。
5. INSERT INTO 语句
- 插入数据:
INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2');
-- 示例:向 'students' 表中插入一条记录
INSERT INTO students (id, name, age) VALUES (1, 'John Doe', 20);
注意事项:
- 需要指定插入的列名和对应的值。
- 值的数据类型需与对应列的数据类型一致。
- 多行插入可以使用多组
VALUES()
,也可以使用INSERT INTO ... SELECT
结合其他查询进行插入。
6. DELETE 语句
- 删除数据:
DELETE FROM table_name WHERE condition;
-- 示例:从 'students' 表中删除年龄大于20岁的学生
DELETE FROM students WHERE age > 20;
注意事项:
DELETE
操作不可逆,一旦执行将会删除满足条件的行。- 为了避免误删大量数据,强烈建议在执行前确认
WHERE
子句的条件正确无误,并在必要时使用事务管理和备份策略。
在实际运用中,以上语句通常结合使用,例如,在创建数据库后,会创建表并插入数据;在需要时查询和更新数据;最后,可能在清理或重构时删除不需要的数据库或表中的数据。在处理敏感操作时,务必做好充分的测试和数据备份工作。
select database()用于显示当前所处数据库
在MySQL中,SHOW CREATE DATABASE
语句用于显示创建特定数据库的原始SQL语句,这对于了解数据库是如何被创建的非常有用,包括其字符集、校对规则等属性。
语法是:
SHOW CREATE DATABASE database_name;
假设你有一个名为 admjn
的数据库,你可以这样查看它的创建语句:
SHOW CREATE DATABASE admjn;
运行此命令后,MySQL将返回一行或多行结果,其中包含一个完整的 CREATE DATABASE
语句,如果按照这个语句执行,就能重新创建相同的数据库结构。注意,这个命令需要你在具有足够权限的情况下运行,通常至少需要 CREATE DATABASE
权限。