### SQL 练习一_单表查询6-3知识点解析 #### 1. 数据库管理命令 - **查看所有数据库**: `SHOW DATABASES;` - **用途**: 列出MySQL服务器上所有的数据库。 - **示例**: `SHOW DATABASES;` - **创建数据库**: `CREATE DATABASE [database_name];` - **用途**: 创建新的数据库。 - **示例**: - `CREATE DATABASE yclass5;` - `CREATE DATABASE yc5;` - **选择数据库**: `USE [database_name];` - **用途**: 切换当前会话使用的数据库。 - **示例**: `USE yclass5;` - **查看当前数据库**: `SHOW DATABASES;` - **用途**: 再次列出所有数据库,确认当前所在数据库。 - **示例**: `SHOW DATABASES;` - **查看数据库创建语句**: `SHOW CREATE DATABASE [database_name];` - **用途**: 查看指定数据库的创建语句。 - **示例**: - `SHOW CREATE DATABASE yclass5;` - `SHOW CREATE DATABASE yc5;` - **删除数据库**: `DROP DATABASE [database_name];` - **用途**: 删除指定的数据库。 - **示例**: `DROP DATABASE yc5;` #### 2. 表的创建与管理 - **创建表**: `CREATE TABLE [table_name] ( ... );` - **用途**: 定义新表的结构。 - **示例**: - **创建`produ`表**: ```sql CREATE TABLE produ ( id INT AUTO_INCREMENT PRIMARY KEY COMMENT "编号", name VARCHAR(30) NOT NULL COMMENT "商品名", price DECIMAL(10,1) NOT NULL COMMENT "价格" ); ``` - **创建`user_info`表**: ```sql CREATE TABLE user_info ( id INT AUTO_INCREMENT PRIMARY KEY COMMENT "编号", name VARCHAR(30) NOT NULL COMMENT "姓名", sex ENUM('男', '女') NOT NULL COMMENT "性别", birthday DATE NOT NULL COMMENT "生日" ); ``` - **查看表结构**: `DESCRIBE [table_name];` - **用途**: 显示表中的所有列及其属性。 - **示例**: - `DESC produ;` - `DESC user_info;` - **查看表创建语句**: `SHOW CREATE TABLE [table_name];` - **用途**: 显示创建指定表的SQL语句。 - **示例**: - `SHOW CREATE TABLE produ;` - `SHOW CREATE TABLE user_info;` - **重命名表**: `ALTER TABLE [old_table_name] RENAME TO [new_table_name];` - **用途**: 改变表的名字。 - **示例**: `ALTER TABLE user_info RENAME TO user_if;` - **添加列**: `ALTER TABLE [table_name] ADD [column_definition];` - **用途**: 向现有表中添加新列。 - **示例**: `ALTER TABLE user_if ADD COLUMN info TEXT COMMENT '备注';` - **更改表存储引擎**: `ALTER TABLE [table_name] ENGINE = [engine_type];` - **用途**: 修改表的存储引擎类型。 - **示例**: `ALTER TABLE user_if ENGINE = MyISAM;` - **创建索引**: `CREATE INDEX [index_name] ON [table_name] ([column_name]);` - **用途**: 加速对表中特定列的搜索速度。 - **示例**: - 创建唯一索引: `CREATE UNIQUE INDEX uk_name ON user_if(name);` - 创建普通索引: `CREATE INDEX uk_birthdat ON user_if(birthday);` - **查看表创建语句(包括索引)**: `SHOW CREATE TABLE [table_name];` - **用途**: 显示创建表的完整SQL语句,包括索引信息。 - **示例**: `SHOW CREATE TABLE user_if;` - **删除列**: `ALTER TABLE [table_name] DROP [column_name];` - **用途**: 从表中删除一个或多个列。 - **示例**: `ALTER TABLE user_if DROP info;` - **删除表**: `DROP TABLE [table_name];` - **用途**: 删除指定的表。 - **示例**: `DROP TABLE user_if;` #### 3. 数据操作 - **修改表结构**: `ALTER TABLE [table_name] ADD [column_name] [data_type];` - **用途**: 修改现有表的结构。 - **示例**: `ALTER TABLE produ ADD quant CHAR(30);` - **插入记录**: `INSERT INTO [table_name] ([column_list]) VALUES ([value_list]);` - **用途**: 向表中插入一条或多条记录。 - **示例**: - 单条记录插入: `INSERT INTO produ (name, price, quant) VALUES ('apple', 3.9, 30);` - 多条记录插入: `INSERT INTO produ (name, price, quant) VALUES ('cherry', 10.2, 30), ('figs', 20.5, 40), ('peach', 5.0, 40);` - **更新记录**: `UPDATE [table_name] SET [column_name] = [new_value] WHERE [condition];` - **用途**: 更新表中符合条件的记录。 - **示例**: - 更新名称为“apple”的记录的价格: `UPDATE produ SET price = 2.7 WHERE name = 'apple';` - 更新id为2的记录的数量: `UPDATE produ SET quant = 10 WHERE id = 2;` - 更新id为3的记录的商品名: `UPDATE produ SET name = 'bana' WHERE id = 3;` 通过以上知识点的学习,我们可以全面掌握SQL中关于数据库和表的基本操作,这对于进行更复杂的数据管理和分析非常重要。
- 粉丝: 223
- 资源: 93
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助