MySQL 常用操作总结:表管理和索引创建
Posted ywendeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 常用操作总结:表管理和索引创建相关的知识,希望对你有一定的参考价值。
一、数据库的操作
1、数据库的创建
CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET ] [COLLATE (排序规则)]
例如: CREATE DATABASE IF NOT EXISTS STUDENT CHARACTER SET ‘utf8’ collate ‘utf8_general_ci’
2 、 数据库的删除
DROP DATABASE | SCHEMA [IF EXISTS] db_name
二、表的操作
1、表的三种创建方法
- 直接定义一张空表
单字段定义:
CREATE TABLE [IF NOT EXISTS] tb_name (col_name col_defination constraint….. )例如:CREATE TABLE tb1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, Name CHAR(20) NOT NULL, Age TINYINT NOT NULL) ENGINE =’InnoDB’
多字段定义:
CREATE TABLE [IF NOT EXISTS] tb_name (col_name col_defination ,constraint)例如:CREATE TABLE tb2 (id INT UNSIGNED NOT NULL AUTO_INCREMENT, Name CHAR(20) NOT NULL, Age TINYINT NOT NULL, PRIMARY KEY(id),UNIQUE KEY(name),INDEX(age))
备注:查看表的信息使用如下语句:
show table status like ‘表名’\\G ;
- 创建一张和另外一张表相同的结构的表 ,使用关键字like
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name LIKE old_tbl_name
- 创建一张表并且数据来源于其它表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
select_statement
例如:create table if not exists tb3 select*from tb1 ;
2、修改表操作
ALTER TABLE tbl_name [alter_specification ]
备注: alter_specification 在linux 系统中使用help alter table 命令查看帮助文档
| ADD [COLUMN] (col_name column_definition,...)
| ADD INDEX|KEY [index_name]
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]
UNIQUE [INDEX|KEY] [index_name]
[index_type] (index_col_name,...) [index_option] ...
| ADD SPATIAL [INDEX|KEY] [index_name]
(index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
reference_definition
| ALTER [COLUMN] col_name SET DEFAULT literal | DROP DEFAULT
| CHANGE [COLUMN] old_col_name new_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX|KEY index_name
| DROP FOREIGN KEY fk_symbol
| RENAME [TO|AS] new_tbl_name
3、表查询
1) 多表查询的连接方式总结:
- 交叉连接:笛卡尔乘积
select *from tb1,tb2;
- 自然连接
select tab1.name,tb2.age from tb1,tb2 where tb1.name=tb2.name;
- 外连接
左外连接:... LEFT JOIN ... ON ...
右外连接: ... RIGHT JOIN ... ON ...
- 自连接
2) 子查询常用操作总结:
- 比较操作中使用子查询:子查询只能返回单个值;
- IN(): 使用子查询;
- 在FROM中使用子查询;
3)查询中常用的聚合函数总结:
SUM(), MIN(), MAX(), AVG(), COUNT()
4)查询中执行流程总结如下:
4、创建表索引
CREATE INDEX index_name ON tb_name (col [(length)] [ASC | DESC],…);
备注:显示指定表上的索引
SHOW INDEXES FROM tb_name
以上是关于MySQL 常用操作总结:表管理和索引创建的主要内容,如果未能解决你的问题,请参考以下文章