MySQL管理表和目录

MySQL管理表和目录,MySQL管理表索引

MySQL管理表和目录

创建数据库:
    CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET=] [COLLATE=]  

删除数据库:
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name    

创建表: 
一、直接定义一张空表; 
2、从其余表中查询出多少,并以之成立新表; 
三、以别的表为模板创建四个空表;

1.  
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]
2.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    [partition_options]
    select_statement
通过select查询语句创建表时,创建的表可能和被查询表的格式定义不太一样

3.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) } 

  创造表时概念在那之中的字段类型时为数值时 加  unisined表示无符号数值类型(唯有正数)。
               举个例子create table 表名 ( id int unisgned )
; id列的值只好为正数

 

修改表定义: 
ALTER TABLE 
增多、删除、修改字段 
充裕、删除、修改索引 
改表名 
修改表属性

 

删除表:        
DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]    

InnoDB协理外键
键也称作约束,可用作索引,属于特殊索引,BTree

目录由数据表中的1列或多列组合而成,创制索引的指标是为了优化数据库的询问速度。个中用户成立的目录指向数据库中切实数量的职务。当用户通过索引查询数据库中的数据时
没有供给遍历全体数据库中的数据,升高了查询效用,索引是1种将数据库中的单列或多列的值排序的构造
  用户通过索引查询数据,系统能够不要遍历数据表中的装有记录,而是查询索引列,一般的经过的多少查询是通过遍历全体数量,并查找数据库中的相称记录而落到实处的

SHOW INDEXES FROM tb_name:显示指定表上的索引
DESC table_name  显示表结构

索引创建:

    CREATE INDEX index_name ON tb_name (col,...);
   col_name [(length)] [ASC | DESC]
    

       create  index 索引名  on 表名 (字段名(长度)     aes|desc)
      创造索引时 字段名(长度)  中”(长度)”表示只索引最左边的多少个字符

删除索引:
    DROP INDEX index_name ON tbl_name   

查询语句类型: 
轻巧易行查询 
多表查询 
子查询(嵌套查询)

SELECT * FROM tb_name;

SELECT field1,field2 FROM tb_name; 投影

SELECT [DISTINCT] * FROM tb_name WHERE qualification; 选择    

DISTINCT 一样的值只体现一遍

FROM子句: 要查询的关联 表、多个表、其余SELECT语句 
WHERE子句:布尔关系表述式 
=、>、>=、<=、< 数值相比不加引号,字符串相比较加引号 
逻辑关系: 
AND 
OR 
NOT

BETWEEN ... AND ...
LIKE ‘’
    %: 任意长度任意字符
    _:任意单个字符
REGEXP, RLIKE                   支持正则表达式
IN                              使用离散取值
IS NULL 
IS NOT NULL

ORDER BY field_name {ASC|DESC} 查询结果排序(ASC升序,DESC降序) 

字段外号:AS 
select name as student_name from student;
显示时展示为student_name不是name

LIMIT子句:LIMIT [offset,]Count 从第offset初叶显得,展现count个

聚合:SUM(), MIN(), MAX(), AVG(), COUNT()

GROUP BY: 分组 
HAVING qualification 过滤

多表查询:

连接:
    交叉连接:笛卡尔乘积
    自然连接:
    外连接:
        左外连接:... LEFT JOIN ... ON ...
        右外连接: ... RIGHT JOIN ... ON ...
    自连接:   使用别名来进行

子查询: 

比较操作中使用子查询:子查询只可以回到单个值; 
IN(): 使用子查询; 
在FROM中使用子查询;

1道查询: 
UNION

视图: 存储下来的SELECT语句;(在MySQL中用处非常的小,跟安全有关时有意义) 
听他们讲基表的询问结果;

CREATE
    [OR REPLACE]
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]  

体现创立某些表、视图、数据库等用了什么语句

SELECT CREATE {DATABASE | TABLE | VIEW} NAME    

广义查询: 

DML: 
DELETE 
INSERT INTO 
UPDATE

INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, val2, ...),...]
INSERT INTO tb_name SET col1= ,col2= ,....
INSERT INTO tb_name (col1,col2...) SELECT ....

字符型:单引号
数值型:不需要引号
日期时间型:
空值:NULL, ''

REPLACE INTO 与INSERT类似

DELETE: 
    DELETE FROM tb_name WHERE condition;

TRUNCATE tb_name: 清空表,并重置AUTOINCREMENT计数器;

UPDATE tb_name SET col1=..., col2=... WHERE 

MySQL管理表和索引 创设数据库: CREATE DATABASE|SCHEMA [IF NOT EXISTS]
db_name [CHARACTER SET=] [COLLATE=] 删除数据库:…

创建数据库:
    CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET=] [COLLATE=]  

删除数据库:
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name    

创建表: 
壹、直接定义一张空表; 
二、从其余表中查询出多少,并以之创立新表; 
三、以别的表为模板创立2个空表;

1.  
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]
2.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    [partition_options]
    select_statement
通过select查询语句创建表时,创建的表可能和被查询表的格式定义不太一样

3.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) } 

  创造表时概念在那之中的字段类型时为数值时 加  unisined表示无符号数值类型(唯有正数)。
               比方create table 表名 ( id int unisgned )
; id列的值只可以为正数

 

修改表定义: 
ALTER TABLE 
累加、删除、修改字段 
增进、删除、修改索引 
改表名 
修改表属性