数据定义语言(DDL Data Definition Language)基础学习笔记
创建数据库
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)基础学习笔记的更多相关文章
- mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...
- MySQL之数据定义语言(DDL)
写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...
- <MySQL>入门三 数据定义语言 DDL
-- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...
- ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...
- 30441数据定义语言DDL
数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...
- Hive 5、Hive 的数据类型 和 DDL Data Definition Language)
官方帮助文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL Hive的数据类型 -- 扩展数据类型data_t ...
- MySQL中的DDL(Data Definition Language,数据定义语言)
create(创建表) 标准的建表语句: create table [模式名.]表名 ( #可以有多个列定义 columnName1 dataType [default expr(这是默认值)], . ...
- SQLite基础-4.数据定义语言(DDL)
目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...
- oracle 数据定义语言(DDL)语法
DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype ...
随机推荐
- KnockOut绑定之Click绑定
example(click绑定) Click绑定对DOM元素添加一个函数,当DOM元素被点击的时候调用.在button,input 或者a标签中常用,但其实他适用于任何可见的DOM元素. 每当你点击b ...
- golang命令行库cobra的使用
简介 Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序.下面是Cobra使用的一个演示: Cobra提供的功能 简易的子命令行模式,如 app ...
- 【带着canvas去流浪(6)】绘制雷达图
目录 一. 任务说明 二. 重点提示 三. 示例代码 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文 ...
- PHP正则表达式二分法实现mysql盲注脚本
$sUrl = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $sPost = 'inject=Inject&injection='; $sCharset = 'AB ...
- 封装继承多态(OOP)
封装:把事物封装成类,私有化属性. 继承:共同的特性封装在父类,子类就有父类的属性 父类已经实现了的方法,子类也有需要前面+New 隐藏父类的方法,就不报错了,有这个语法,面试的时候问过,不推荐用. ...
- Java_基础篇(数组排序)
Java_基础之数组排序(从小到大) 1.冒泡排序: 冒泡排序可以写成两层循环. 每次循环将最大的数值交换到数组的最后一个. 每排序完一次,后面就少比较一次.所以二层循环的判断条件写成:arry.le ...
- 对HTML5标签的认识(四)
这篇随笔讲讲HTML5中的表单和表单的一些元素 一.表单的作用是什么? 概念:表单在网页中主要是负责对数据信息的采取,表单一共分成三个部分: 1.表单的标签:这里面包含了处理表单的数据所用CGI程序以 ...
- Ajax常见面试题
1,什么是ajax? 为什么要使用ajax? 1.ajax是"asynchornous javascript and xml "的缩写,指一种创建交互式网页应用的网页开发技术. 2 ...
- Cesium 绘制点、线、面和测距
本文基于ES6,采用React+Cesium的Webgis前端开发框架,目前threejs和cesium的结合正在研究中.此段代码采用原生javascript,可能过程中用到了es6的扁平化语法,如( ...
- 2D射影几何和变换
阅读<计算机视觉中的多视图集合> 2D射影几何和变换 2D射影平面 本章的关键是理解线和点的对偶性.从射影平面模型出发,IP^2^内的点(a, b ,c)由IP^3^空间中一条过原点的射线 ...