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 ...
随机推荐
- Angular2升级到Angular4
angular4终于在两天前发布了正式版本,那么怎么升级呢?其实angular2和angular4之间属于平滑过渡,并不像1和2之间颠覆性的重写代码. npm uninstall -g @angula ...
- Shift Register
/*************************************************** / Shift Register module / Programing by seong ...
- python-获取本机mac地址
#!/usr/bin/env python #-*- coding:utf-8 -*- ############################ #File Name: getmac.py #Auth ...
- ROW模式的SQL无法正常同步的问题总结
转自:http://blog.chinaunix.net/uid-20639775-id-4664792.html#_Toc29623 ROW模式的SQL无法正常同步的问题总结 一. 问题起因.... ...
- _T("") vs L 到底用谁?L!
一直没有注意这个,今天突然纠结起来这个问题,代码写多了,难免这两个混用. 现在是时候有个结论了: 如果你的工程是unicode编译,那么请明确的使用L! 如果是多字节(ansi),那么请使用_T(&q ...
- windows system.exe占用文件
1)问题的原因是出于一个服务Application Experience,如果装好系统后就把此服务设为手动启动了,平时运行也没什么异常.但是win7在运行exe时如果没有这个服务的辅助就会长时间的占用 ...
- netty通用解码器LengthFieldBasedFrameDecoder
2.2.4. LengthFieldBasedFrameDecoder解码器 了解TCP通信机制的读者应该都知道TCP底层的粘包和拆包,当我们在接收消息的时候,显示不能认为读取到的报文就是个整包消息, ...
- Perl/C#连接Oracle/SQL Server和简单操作
连接数据库是一个很常见也很必须的操作.先将我用到的总结一下. 1. Perl 连接数据库 Perl 连接数据库的思路都是: 1)使用DBI模块: 2)创建数据库连接句柄dbh: 3)利用dbh创建语句 ...
- 当synchronized关键字和this关键字
package cn.itcast_01_mythread.thread.testThread; public class MyThreadWithImpliment_Synch_method imp ...
- hdu2588 GCD 给定n,m。求x属于[1,n]。有多少个x满足gcd(x,n)>=m; 容斥或者欧拉函数
GCD Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Sub ...