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 常用操作总结:表管理和索引创建的主要内容,如果未能解决你的问题,请参考以下文章

超全!Mysql数据库 常用基本操作总结(含快速索引目录)

十二天 mysql操作

Linux命令:MySQL系列之四--MySQL管理表和索引

MySql 常用命令总结

MySQL基础知识和常用命令总结

mysql学习笔记