-
数据定义语言(DDL)
- 创建数据库(CREATE DATABASE)
- 语法:
CREATE DATABASE database_name;
- 示例:
CREATE DATABASE my_store;
- 解释:这条语句用于创建一个名为
my_store
的新数据库,你可以将my_store
替换为任何你想要的数据库名称。
- 语法:
- 删除数据库(DROP DATABASE)
- 语法:
DROP DATABASE database_name;
- 示例:
DROP DATABASE test_db;
- 解释:用于删除名为
test_db
的数据库。注意,这个操作是不可逆的,所以在执行前要确保你真的想要删除该数据库及其所有内容。
- 语法:
- 创建表(CREATE TABLE)
- 语法:
sql
CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, ... );
- 示例:
sql
CREATE TABLE customers ( customer_id INT AUTO_INCREMENT PRIMARY KEY, customer_name VARCHAR(255), customer_email VARCHAR(255) );
- 解释:创建一个名为
customers
的表,其中有三列。customer_id
是整数类型,自动递增并且是主键;customer_name
是可变长度为 255 的字符类型,用于存储客户姓名;customer_email
也是可变长度为 255 的字符类型,用于存储客户电子邮件。
- 语法:
- 修改表(ALTER TABLE)
- 添加列:
- 语法:
ALTER TABLE table_name ADD column_name datatype;
- 示例:
ALTER TABLE customers ADD customer_phone VARCHAR(20);
- 解释:在
customers
表中添加一列名为customer_phone
,数据类型为可变长度 20 的字符类型,用于存储客户电话号码。
- 语法:
- 修改列的数据类型:
- 语法:
ALTER TABLE table_name MODIFY column_name new_datatype;
- 示例:
ALTER TABLE customers MODIFY customer_email VARCHAR(500);
- 解释:将
customers
表中的customer_email
列的数据类型修改为可变长度 500 的字符类型。
- 语法:
- 删除列:
- 语法:
ALTER TABLE table_name DROP COLUMN column_name;
- 示例:
ALTER TABLE customers DROP COLUMN customer_phone;
- 解释:从
customers
表中删除customer_phone
列。
- 语法:
- 添加列:
- 删除表(DROP TABLE)
- 语法:
DROP TABLE table_name;
- 示例:
DROP TABLE old_data;
- 解释:删除名为
old_data
的表及其所有数据。
- 语法:
- 创建数据库(CREATE DATABASE)
-
数据操作语言(DML)
- 插入数据(INSERT INTO)
- 语法:
sql
INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);
- 示例:
sql
INSERT INTO customers (customer_name, customer_email) VALUES ('John Doe', 'johndoe@example.com');
- 解释:向
customers
表中插入一条新记录,customer_name
列的值为John Doe
,customer_email
列的值为johndoe@example.com
。如果表中有自动递增的主键列,像前面customers
表中的customer_id
,数据库会自动为其分配一个值。
- 语法:
- 查询数据(SELECT)
- 基本查询:
- 语法:
SELECT column1, column2,... FROM table_name;
- 示例:
SELECT customer_name, customer_email FROM customers;
- 解释:从
customers
表中查询customer_name
和customer_email
两列的数据。
- 语法:
- 查询所有列:
- 语法:
SELECT * FROM table_name;
- 示例:
SELECT * FROM customers;
- 解释:从
customers
表中查询所有列的数据。
- 语法:
- 条件查询(WHERE 子句):
- 语法:
SELECT column1, column2,... FROM table_name WHERE condition;
- 示例:
SELECT customer_name, customer_email FROM customers WHERE customer_id > 10;
- 解释:从
customers
表中查询customer_id
大于 10 的记录的customer_name
和customer_email
列的数据。
- 语法:
- 基本查询:
- 更新数据(UPDATE)
- 语法:
sql
UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;
- 示例:
sql
UPDATE customers SET customer_email = 'new_email@example.com' WHERE customer_id = 1;
- 解释:将
customers
表中customer_id
等于 1 的记录的customer_email
列的值更新为new_email@example.com
。
- 语法:
- 删除数据(DELETE)
- 语法:
DELETE FROM table_name WHERE condition;
- 示例:
DELETE FROM customers WHERE customer_id = 2;
- 解释:从
customers
表中删除customer_id
等于 2 的记录。
- 语法:
- 插入数据(INSERT INTO)
-
数据控制语言(DCL)
- 授权(GRANT)
- 语法:
GRANT privilege ON object TO user;
- 示例:
GRANT SELECT ON customers TO 'user1';
- 解释:授予用户
user1
对customers
表进行查询(SELECT)的权限。
- 语法:
- 收回权限(REVOKE)
- 语法:
REVOKE privilege ON object FROM user;
- 示例:
REVOKE SELECT ON customers FROM 'user1';
- 解释:收回用户
user1
对customers
表的查询(SELECT)权限。
- 语法:
- 授权(GRANT)