SQL: DDL, DML,表定义与含义

DDL: 数据定义语言;
CREATE, ALTER, DROP

        DB组件:数据库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器等

        CREATE相关的常用命令:
           CREATE DATABASE
           CREATE EVENT
           CREATE FUNCTION
           CREATE FUNCTION UDF
           CREATE INDEX
           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索引(全文索引)
                        聚集索引、非聚集索引
                        简单索引、组合索引

        创建表:CREATE TABLE
            (1) 直接创建;
            (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) }

                mysql> SHOW GLOBAL VARIABLES LIKE ‘%default%engine%‘;  #查看表引擎
                +----------------------------+--------+
                | Variable_name              | Value  |
                +----------------------------+--------+
                | default_storage_engine     | InnoDB |
                | default_tmp_storage_engine | InnoDB |
                +----------------------------+--------+
                2 rows in set (0.00 sec)
            注意:Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎;
                同一个库中表要使用同一种存储引擎类型;

        查看表结构:
            DESCRIBE tbl_name;

        查看表状态信息:
            SHOW [FULL] TABLES [{FROM | IN} db_name] [LIKE ‘pattern‘ | WHERE expr]
            mysql> SHOW TABLE STATUS LIKE ‘t1‘\G
                *************************** 1. row ***************************
                           Name: t1
                         Engine: InnoDB
                        Version: 10
                     Row_format: Compact        #行格式
                           Rows: 2              #已有的行数
                 Avg_row_length: 8192           #表中现有的所有行的平均长度
                    Data_length: 16384          #表中数据的大小
                Max_data_length: 0              #表数据的最大容量,该值与存储引擎有关  #0代表没有上限
                   Index_length: 0              #索引大小
                      Data_free: 0              #目前已分配,但是没有显示
                 Auto_increment: 5              #自动增长字段
                    Create_time: 2019-01-29 13:27:33    #创建时间
                    Update_time: NULL
                     Check_time: NULL
                      Collation: latin1_swedish_ci      #排序规则
                       Checksum: NULL                   #表的校验和
                 Create_options:                        #创建表额外指定的其他选项
                        Comment:                        #注释,包含了额外的其他信息。
                1 row in set (0.01 sec)

        修改表:ALTER TABLE
        增加字段    mysql> ALTER TABLE student  ADD  age varchar(20) NOT NULL;
            Query OK, 0 rows affected (0.22 sec)
            Records: 0  Duplicates: 0  Warnings: 0

            mysql> SELECT * FROM student;
            +----+----------+---------------+------+-----+
            | id | name     | register_date | sex  | age |
            +----+----------+---------------+------+-----+
            |  1 | ZhanYang | 2018-06-20    | NULL |     |
            |  4 | LiuJia   | 2018-05-30    | NULL |     |
            |  8 | JiaLiu   | 2018-06-20    | NULL |     |
            |  9 | JiaLiu   | 2018-04-20    | NULL |     |
            | 10 | gaoyf    | 2018-04-20    | NULL |     |
            | 11 | zhujh    | 2018-04-20    | NULL |     |
            | 12 | zhouha   | 2018-04-20    | NULL |     |
            | 13 | hanzb    | 2018-04-21    | M    |     |
            | 16 | ZhanXing | 2018-05-21    | M    |     |
            | 17 | XingYan  | 2018-05-21    | M    |     |
            | 18 | Jinjiao  | 2019-01-29    | M    |     |
            | 19 | Jinjiao  | 2019-01-29    | M    |     |
            | 20 | Yinjiao  | 2019-01-28    | F    |     |
            +----+----------+---------------+------+-----+
            13 rows in set (0.00 sec)

        删除表:DROP TABLE

原文地址:http://blog.51cto.com/zhanx/2348156

时间: 2024-10-14 00:43:54

SQL: DDL, DML,表定义与含义的相关文章

1.SQL DDL DML

1.DDL数据定义语言(Data Definiton Language)用于create 和alter Schema. 2.DML数据操作语言(Data manipulation Language)用于操作和获取数据,insertion,update,deletion,,,,. sql书 sql tuning,anintroduction to database system http://www.mathcomp.uokufa.edu.iq/staff/kbs/file/2/An%20Intr

SQL Server 2008 表分区的含义

继续看这个文档 http://www.360doc.com/content/16/0104/11/22743342_525336297.shtml SQL Server表分区 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理.这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是大大有利的. 所以

SQL Server 查看表定义的 2 种方法

方法 1. 用SQL Server Management Studio 第一步找到要查看的表,右键 第二步点设计 方法 2. sp_help @objname = 'tableName' execute sp_help @objname = 'Nums';

SQL中的四种语言DDL,DML,DCL,TCL

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一.用于定义数据库的三级结构,包括外模式.概念模式.内模式及其相互之间的映像,定义数据的完整性.安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME 2.DML(Data Manipulation Lang

SQL四种语言:DDL,DML,DCL,TCL

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一.用于定义数据库的三级结构,包括外模式.概念模式.内模式及其相互之间的映像,定义数据的完整性.安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME 2.DML(Data Manipulation Lang

SQL 四大功能DDL/DML/DCL/TCL

SQL主要分成四部分:(1)数据定义.(SQL DDL)用于定义SQL模式.基本表.视图和索引的创建和撤消操作.(2)数据操纵.(SQL DML)数据操纵分成数据查询和数据更新两类.数据更新又分成插入.删除.和修改三种操作.(3)数据控制.包括对基本表和视图的授权,完整性规则的描述,事务控制等内容.(4)嵌入式SQL的使用规定.涉及到SQL语句嵌入在宿主语言程序中使用的规则. 1.DDL(Data Definition Language)数据库定义语言statements are used to

SQLServer 里面的 DDL,DML,DCL,TCL

1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or schema.DDL是SQL语言的四大功能之一.用于定义数据库的三级结构,包括外模式.概念模式.内模式及其相互之间的映像,定义数据的完整性.安全控制等约束DDL不需要commit. CREATE ALTER DROP TRUNCATE COMMENT RENAME 2.DML (Data Manipula

关于SQL中 DML,DDL,DCL定义

关于SQL中 DML,DDL,DCL定义说明 1.DML(data manipulation language)是数据库操纵语言 例如:select .update.insert.delete 这四条命令用来对数据库里的数据进行操作的语言 2.DDL (date definition language) 是数据定义语言 例如:create.alert.drop等DDL主要用在定义或者改表的结构,数据类型,表之间的链接和约束等初始化工作上 3.DCL (datacontrollanguage)是数

Orecle Mysql 基本sql语句DDL & DML 介绍与总结 by 冰琉璃

先给大家普及一下安装mysql的简易方法:yum yum search mysql (查找关于mysql的内容) 找到后需要安装3个内容 mysql.i386 mysql-server.i386 mysql-devel.i386 安装过后 service mysqld start (启动mysql服务) 进入mysql mysql -h -u root -p 密码直接回车 开始密码为默然:以后可以在mysql里面改密码或者创建账号等操作 Mysql的sql语句大致分为4种  DDL (定义语句)