MySQL中的DDL,DML
MySQL中的DDL,DML
DDL:数据定义语言:
CREATE,ALTER,DROP
DB组件:数据库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器等
CREATE相关的常用命令:
CREATE DATABASE
CREATE EVENT
CREATE FUNCTION
CREATE FUNCTION UDF
CREATE INDEX
CREATE LOGFILE GROUP
CREATE PROCEDURE
CREATE SERVER
CREATE TABLE
CREATE TABLESPACE
CREATE TRIGGER
CREATE USER
CREATE VIEW
DML:数据操作语言
INSERT,DELETE,UPDATE,SELECT
数据库:
CREATE,ALTER,DROP
{DATABASE|SCHEMA}
[IF EXISTS]
[IF NOT EXISTS]
表:二维关系
设计表:遵循规范
定义:字段,索引
字段:字段名,字段数据类型,修饰符
约束:索引,应该创建在经常用作查询条件的字段上
索引:实现级别在存取引擎
分类:
稠密索引、稀疏索引
B+所以、hash索引、R树索引、FULLTEXT索引
聚集索引:数据和主键索引存放在一起,按主键索引次序进行存储
非聚集索引:索引和数据分开存放,索引通过指针找到原始数据所在位置
简单索引(只索引在一个字段上)、组合索引(索引在多个字段上)
创建表:
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]
[IGNORE | REPLACE]
[AS] query_expression
3、通过复制现存的表的表结构创建:不复制数据。
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name) }
注意:Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎;
同一个库中的表要使用同一种存储引擎;
查看表结构:
DESCRIBE table_name
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| id | varchar(100) | NO | PRI | NULL | |
| createTime | datetime | YES | | NULL | |
| host | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| originalFilename | varchar(255) | YES | | NULL | |
| relativeUrl | varchar(255) | YES | | NULL | |
| relativeUrlAbb | varchar(255) | YES | | NULL | |
| savePath | varchar(255) | YES | | NULL | |
| savePathAbb | varchar(255) | YES | | NULL | |
| suffix | varchar(255) | YES | | NULL | |
| url | varchar(255) | YES | | NULL | |
| urlAbb | varchar(255) | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+
查看表的状态信息:
SHOW TABLE STATUS LIKE 'table_name'\G;
*************************** 1. row ***************************
Name: fansik # 表名
Engine: InnoDB # 存储引擎
Version: 10 # 版本号
Row_format: Dynamic # 行格式
Rows: 381042 # 已有行数
Avg_row_length: 401 # 现有的所有行的平均长度
Data_length: 153026560 # 表中数据的大小
Max_data_length: 0 # 表数据的最大容量,该值与存储引擎有关,0为不限制
Index_length: 0 # 索引大小,无索引
Data_free: 6291456 # 目前已分配,但尚未存入数据的空间,通常对myisam比较有用
Auto_increment: NULL # 下一次自动增长的字段
Create_time: 2017-07-11 10:12:06 # 表的创建时间
Update_time: 2017-10-13 15:58:52 # 表的最近一次的修改时间
Check_time: NULL # 最近一次使用checktable命令检查表的时间
Collation: utf8_general_ci # 排序规则
Checksum: NULL # 表的校验和
Create_options: # 创建表时其他的额外选项
Comment: # 注释信息
1 row in set (0.00 sec)
修改表:ALTER TABLE
删除表:DROP TABLE
MySQL中的DDL,DML的更多相关文章
- 关于mysql中的DDL,DML,DQL和DCL
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- mysql中的DDL,DML,DQL,DCL
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- Oracle中的DDL,DML,DCL总结
转自http://blog.csdn.net/w183705952/article/details/7354974 DML(Data Manipulation Language,数据操作语言):用于检 ...
- 数据库中的DDL/DML/DCL解释(转)
DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.CREATE - ...
- MySQL中的DDL(Data Definition Language,数据定义语言)
create(创建表) 标准的建表语句: create table [模式名.]表名 ( #可以有多个列定义 columnName1 dataType [default expr(这是默认值)], . ...
- 【科普】MySQL中DDL操作背后的并发原理
一. 简介 DQL:指数据库中的查询(select)操作. DML:指数据库中的插入(insert).更新(update).删除(delete)等行数据变更操作. DDL:指数据库中加列(add co ...
- MySQL操作之DDL
目录 SQL语句的分类 DDL语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...
- ORA-38301:can not perform DDL/DML over objects in Recycle Bin
一个智障操作,drop一个用户,下面的东西比较多,删得比较慢,然后shell突然关了. 就导致了,删不掉,又不能创建新的用户.出版本要得比较急,就先创建新的用户测试去了. 今天要弄个东西,又想起这个事 ...
- MySQL中的DML、DQL和子查询
一.MySQL中的DML语句 1.使用insert插入数据记录: INSERT INTO `myschool`.`student` (`studentNo`, `loginPwd`, `student ...
随机推荐
- php模板原理PHP模板引擎smarty模板原理浅谈
mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...
- Tomcat闲聊
上面是Tomcat的执行过程. 下面说几个概念: 1.JSP:这个就是在html文件中嵌入Java代码之后重新生成的一个文件(.jsp的文件) 2.servlet:就是一个处理动态资源的小程序,一般位 ...
- Python内置函数之eval()
eval(expression,globals=None,locals=None) 返回表达式的值.第一个参数必须是字符串.第二个参数可选,如果有必须是字典:第三个参数可选,如果有必须是映射对象(比如 ...
- undefined reference to `shm_unlink'
1.问题描述: 在编译一个程序的时候提示这样的错误: BLog.cpp:(.text+0x5fc): undefined reference to `shm_unlink'DBLog.cpp:(.te ...
- Unity3D 移动开发代码优化
1. 尽量避免每帧处理 比方: function Update() { DoSomeThing(); } 可改为每5帧处理一次: function Update() { if(Time.frameCo ...
- 【Python + ATX】之uiautomator2 PageObject模式自动化框架学习
参考文章: 感谢:cynic (linpengcheng) <ATX 基于 ATX-Server 的 UI 自动化测试框架> <ATX-uiautomator2 实现 webview ...
- 【转】Web前端开发:为何选择MVVM而非MVC
在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的技术原因,MVC在Web前端开发中根本无法使用(对的,是无法,而不是不该) 在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的 ...
- 程序运行缺少MSVCR110.dll
Download Visual C++ Redistributable for Visual Studio 2012 Update 4 from Official Microsoft Download ...
- jQuery EasyUI的各历史版本和应用
from:http://blog.sina.com.cn/s/blog_b8be6dc40102xpe6.html 各历史版本下载地址: http://www.jeasyui.com/download ...
- ios应用,64位问题,Missing 64-bit support
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFyb25fYmxvZ3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...