首页 / MYSQL / MySQL管理表和索引
MySQL管理表和索引
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL管理表和索引,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3933字,纯文字阅读大概需要6分钟。
内容图文
MySQL管理表和索引
SQL语句:
数据库
表
索引
视图
DML
创建数据库: CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET=] [COLLATE=] 删除数据库: DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
创建表:
1、直接定义一张空表;
2、从其它表中查询出数据,并以之创建新表;
3、以其它表为模板创建一个空表;
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 3. CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) } 创建一个空白表: CREATE TABLE [IF NOT EXISTS] tb_name (col_name col_defination, constraint ) ENGINE [=] engine_name
键也称作约束,可用作索引,属于特殊索引(有特殊限定):B+Tree
CREATE INDEX创建索引 SHOW INDEXES FROM tb_name:显示指定表上的索引 DESC table_name 显示表结构
修改表定义:
ALTER TABLE
添加、删除、修改字段
添加、删除、修改索引
改表名
修改表属性
InnoDB支持外键(外键约束极其消耗系统资源)
删除表: DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE] 索引创建: CREATE INDEX index_name ON tb_name (col,...); col_name [(length)] [ASC | DESC] 删除索引: DROP INDEX index_name ON tbl_name SELECT select-list FROM tb WHERE qualification
查询语句类型:
简单查询
多表查询
子查询(嵌套查询)
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中使用子查询;
联合查询:
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
本文出自 “繁华落尽” 博客,请务必保留此出处http://chenxujiang.blog.51cto.com/11737025/1846423
MySQL管理表和索引
标签:mysql
本文系统来源:http://chenxujiang.blog.51cto.com/11737025/1846423
内容总结
以上是互联网集市为您收集整理的MySQL管理表和索引全部内容,希望文章能够帮你解决MySQL管理表和索引所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。