• 创建数据库

    create database if not exists STUDY character set utf8 ;

  • 查看新建数据库的语句

    SHOW CREATE DATABASE STUDY;

  • 查看当前数据库版本

    SELECT @@version ;

  • 删除数据库

    DROP DATABASE IF EXISTS STUDY;

  • 指定数据库

    USE STUDY;

  • 新增数据表

    CREATE TABLE IF NOT EXISTS S_TB_USER(

    ID INT(11) DEFAULT NULL,

    NAME VARCHAR(20) DEFAULT NULL,

    AGE TINYINT DEFAULT NULL

    )ENGINE=INNODB DEFAULT CHARSET=utf8;

  • 查看当前数据库的数据表清单

    SHOW TABLES;

  • 删除表

    DROP TABLE IF EXISTS S_TB_USER;

  • 修改表名称

    ALTER TABLE S_TB_USER RENAME TO S_TB_USERS;

    ALTER TABLE S_TB_USERS RENAME TO S_TB_USER;

  • 增加列

    ALTER TABLE S_TB_USER ADD remark varchar(200);

  • 在中间某字段之后添加字段

    ALTER TABLE S_TB_USER ADD address VARCHAR(100) AFTER age;

  • 在第一个字段前增加字段

    ALTER TABLE S_TB_USER ADD FAMI_ID INT(11) FIRST;

  • 查看当前表脚本

    SHOW CREATE TABLE S_TB_USER;

  • 删除列

    ALTER TABLE S_TB_USER DROP COLUMN ADDRESS;

  • 查看表结构

    DESCRIBE S_TB_USER; DESC S_TB_USER;

  • 修改列名称

    ALTER TABLE S_TB_USER CHANGE remark REMARK VARCHAR(20);

  • 修改字段类型

    ALTER TABLE S_TB_USER MODIFY REMARK VARCHAR(100);

  • 修改主键约束
  • ALTER TABLE TEACHERS ADD PRIMARY KEY (TEACHER_ID);
  • 修改外键约束
  • ALTER TABLE TEACHERS ADD FOREIGN KEY (DEPARTMENT_ID) REFERENCES  DEPARTMENT(D_ID);
  • 复制表(数据+表结构)

    CREATE TEMPORARY TABLE IF NOT EXISTS S_TB_USERS_COPY;

  • 复制表结构

    CREATE TEMPORARY TABLE IF NOT EXISTS S_TB_USER_COPY2 LIKE S_TB_USER;

    在创建表格时,您可以使用TEMPORARY关键词。只有在当前连接情况下,TEMPORARY表才是可见的。当连接关闭时,TEMPORARY表被自动取消。这意味着两个不同的连接可以使用相同的临时表名称,同时两个临时表不会互相冲突,也不与原有的同名的非临时表冲突。(原有的表被隐藏,直到临时表被取消时为止。)您必须拥有CREATE TEMPORARY TABLES权限,才能创建临时表。

  • 主键约束 CREATE TABLE TB_FIRST( ID INT(10) NOT NULL PRIMARY KEY, F_NAME VARCHAR(20) );

    CREATE TABLE TB_SEC(

    ID INT(10) NOT NULL,

    S_NAME VARCHAR(20),

    PRIMARY KEY (ID)

    );

  • 联合主键

    CREATE TABLE TB_THIRD(

    ID INT(10) NOT NULL,

    TH_NAME VARCHAR(20) NOT NULL,

    PRIMARY KEY(ID,TH_NAME)

    );

  • 外键约束

    CREATE TABLE TB_FOUR(

    ID INT(11) NOT NULL,

    S_ID INT(11) ,

    F_NAME VARCHAR(45),

    PRIMARY KEY(ID),

    FOREIGN KEY(S_ID) REFERENCES TB_SEC(ID)

    );

  • 非空约束+唯一约束

    CREATE TABLE TB_FIR(

    ID INT(11) NOT NULL,

    F_NAME VARCHAR(20),

    UNIQUE(ID) );

  • 自增字段

    CREATE TABLE TB_SIX(

    ID INT(11) NOT NULL UNIQUE AUTO_INCREMENT,

    S_NAME VARCHAR(20)

    );

    CREATE TABLE TB_SEVEN(

    ID INT(11) PRIMARY KEY AUTO_INCREMENT,

    S_NAME VARCHAR(20)

    );

  • ALTER TABLE TB_SIX CHANGE ID ID INT(11) NOT NULL AUTO_INCREMENT;
  • 注:只有int类型且为primary key 才可以使用auto_increment.

数据定义语言(DDL Data Definition Language)基础学习笔记的更多相关文章

  1. mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)

    0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...

  2. MySQL之数据定义语言(DDL)

    写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...

  3. <MySQL>入门三 数据定义语言 DDL

    -- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...

  4. ODPS SQL <for 数据定义语言 DDL>

    数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  5. 30441数据定义语言DDL

    数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...

  6. Hive 5、Hive 的数据类型 和 DDL Data Definition Language)

    官方帮助文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL Hive的数据类型 -- 扩展数据类型data_t ...

  7. MySQL中的DDL(Data Definition Language,数据定义语言)

    create(创建表) 标准的建表语句: create table [模式名.]表名 ( #可以有多个列定义 columnName1 dataType [default expr(这是默认值)], . ...

  8. SQLite基础-4.数据定义语言(DDL)

    目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...

  9. oracle 数据定义语言(DDL)语法

    DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype  ...

随机推荐

  1. 常见js报错

    1Uncaught TypeError: Cannot read property 'length' of null Uncaught TypeError: Cannot read property ...

  2. html meta标签使用及属性介绍

    自学前端开始,我对meta标签接触不多,主要把精力都集中在能显示出来的标签上,比如span.button.h1等等.有时候去查看一些知名网站的源码,发现head标签里有一大摞的meta. 今天就来学习 ...

  3. Math.floor(Math.random()*3+1)

    Math.random():获取0~1随机数 Math.floor() method rounds a number DOWNWARDS to the nearest integer, and ret ...

  4. selenium+python自动化测试系列---基础知识篇(1、HTML基础知识1)

    1.什么是HTML HTML是一种描述网页的语言.HTML指超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言(markup language ...

  5. Fragment嵌套Fragment时候。子类fragment调用父容器Fragment方法

    业务场景:有的时候我们的页面可能是Activity 嵌套多个Fragment ..其中某个Fragment 又嵌套多个Fragment. 其中某个子Fragment  定义为  NewsFragmen ...

  6. Docker 创建 Bamboo6.7.1 以及与 Crowd3.3.2 实现 SSO 单点登录

    目录 目录 1.介绍 1.1.什么是 Bamboo? 2.Bamboo 的官网在哪里? 3.如何下载安装? 4.对 Bamboo 进行配置 4.1.获取授权许可 4.2.一般配置 4.3.数据库配置 ...

  7. 【Objective-C学习笔记】变量和基本的数据类型

    OC是增强了C的特性,所以在变量和基本数据类型上基本与C一致. 在OC中变量命名有如下规则: 由字母.数字.下划线.$符号组成 必须以字母.下划线.$符号开头 大小写敏感 在OC中定义变量的时候不能使 ...

  8. redis数据库安装 redis持久化及主从复制

    ----------------------------------------安装redis-5.0.4---------------------------------------- wget h ...

  9. 线程之-volatile

    线程作为java面试中必须要掌握的一环,volatile多少也会在面试中被问到,所以就需要好好研究下,以面对面试官的问题. 首先要清楚线程不安全是什么原因引起的,需要明白计算机的cpu执行每条指令时都 ...

  10. VUE的一个数据绑定与页面刷新相关的bug

    1.场景: N层嵌套的循环查询业务场景,框架是vue.其中在最后一层查完之后,还需要查其中每一项的两个属性,类型都是列表.查完之后将其赋值给一个变量用于页面展示.代码如下: (1)异常代码: getS ...