根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 一、MySQL建表与检查语句 #### 1. 建表前检查语句 在创建表之前,通常会先执行一个检查语句来确认该表是否已存在。这可以通过 `DROP TABLE IF EXISTS` 语句实现: ```sql DROP TABLE IF EXISTS 表名 DEFAULT CHARACTER SET utf8; ``` 这条语句的作用是如果表已经存在,则将其删除,并指定默认字符集为 UTF-8。 #### 2. 建表语句 接下来是创建表的具体语句。下面的例子展示了如何定义表结构以及各种数据类型的使用: ```sql CREATE TABLE `表名` ( `id` int(10) unsigned NOT NULL auto_increment, -- 自增长的整型字段 `playlist_id` int(10) NOT NULL, -- 非空整型字段 `vuchnl_provider_id` int(10) unsigned NOT NULL DEFAULT '4', -- 默认值为4的非空非负整型字段 `display_order` smallint(5) unsigned NOT NULL, -- 显示顺序,非空小整型 `circle_code` varchar(8) CHARACTER SET utf8 NOT NULL DEFAULT '-', -- 字符串类型,默认值为"-",字符集为UTF-8 `status` enum('active', 'inactive') CHARACTER SET utf8 NOT NULL DEFAULT 'active', -- 枚举类型,默认值为"active" `video_start_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', -- 视频开始日期,非空的时间戳类型 `daily_start_time` time NOT NULL DEFAULT '00:00:00', -- 每日开始时间,非空的时间类型 `update_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 更新时间,非空的时间戳类型,自动更新 PRIMARY KEY (`vuchnl_category_playlist_id`), -- 主键 UNIQUE KEY `vuchnl_category_id_2` (`vuchnl_category_id`, `circle_code`, `status`, `playlist_type`, `playlist_id`), -- 联合唯一键 KEY `vuchnl_provider_id` (`vuchnl_provider_id`) -- 普通索引 ) ENGINE = MyISAM DEFAULT CHARACTER SET latin1; ``` ### 二、复制表操作 复制表结构或数据的操作也很常见,这里提供几种常用的方法: 1. **复制表结构**: ```sql SHOW TABLES LIKE '表名'; -- 检查表是否存在 CREATE TABLE 新表名 LIKE 原表名; -- 复制表结构 ``` 2. **复制表数据**: ```sql INSERT INTO 新表名 SELECT * FROM 原表名; -- 复制数据 ``` 3. **同时复制表结构和数据**: ```sql CREATE TABLE 新表名 AS SELECT * FROM 旧表名; -- 复制数据,但不复制表结构 ``` ### 三、索引的种类及创建 索引是为了提高数据检索速度而创建的特殊结构。在MySQL中,常见的索引类型包括: 1. **普通索引**: - 创建方式: ```sql CREATE INDEX indexName ON table(column(length)); ALTER TABLE table ADD INDEX indexName ON (column(length)); ``` - 删除索引: ```sql DROP INDEX indexName ON table; ``` 2. **唯一索引**: - 创建方式: ```sql CREATE UNIQUE INDEX indexName ON table(column(length)); ALTER TABLE table ADD UNIQUE indexName ON (column(length)); ``` 3. **全文索引**: - MySQL从3.23版本开始支持全文索引。适用于CHAR、VARCHAR或TEXT类型字段。创建方式如下: ```sql ALTER TABLE art ADD FULLTEXT indexName (column); ``` - 注意事项:全文索引在大量数据的情况下可能会导致性能问题,建议谨慎使用。 以上是根据给定的文件信息整理的关键知识点,希望能帮助您更好地理解和使用MySQL的相关功能。
- 粉丝: 180
- 资源: 178
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助