数据定义语言(DDL Data Definition Language)基础学习笔记
创建数据库
create database if not exists
STUDYcharacter 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 ...
随机推荐
- SpringBoot + Spring Security 学习笔记(三)实现图片验证码认证
整体实现逻辑 前端在登录页面时,自动从后台获取最新的验证码图片 服务器接收获取生成验证码请求,生成验证码和对应的图片,图片响应回前端,验证码保存一份到服务器的 session 中 前端用户登录时携带当 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- SpringBoot基础系列-SpringCache使用
原创文章,转载请标注出处:<SpringBoot基础系列-SpringCache使用> 一.概述 SpringCache本身是一个缓存体系的抽象实现,并没有具体的缓存能力,要使用Sprin ...
- 论AOP面向切面编程思想
原创: eleven 原文:https://mp.weixin.qq.com/s/8klfhCkagOxlF1R0qfZsgg [前言] AOP(Aspect-Oriented Programming ...
- ssh登录错误ECDSA host key for ip has changed解决方案
当我们使用ssh root@ip登录Linux服务器时,服务器报错: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WAR ...
- PHP 二维数组排序保持键名不变
对二维数组指定的键名排序,首先大家想到的是array_multisort函数,关于array_multisort的用法我之前也写了一篇废话不多言,我们看个实例: <?php $data = ar ...
- 学JAVA第十二天,今天写java控制台输入流及String的类型转换
今天老师讲了一天狗跳楼的问题,昨天解开始说了,今天都没讲新课, 所以,今天自学了Scanner类及String的类型转换 先来Scanner类实现键盘输入功能: 代码: package pkg1; i ...
- Ext.isIterable
Ext.isIterable用于判断传入的参数是否为可迭代的 在这4种情况下,函数返回true 1:数组2:函数参数arguments3:HTML collections : NodeList4:HT ...
- 《JavaScript高级程序设计》笔记:BOM(八)
BOM(浏览器对象模型)提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关. window对象 全局作用域 定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过 ...
- Dynamics 365-关于Solution的那些事(三)
这一篇的内容,是关于Solution的使用建议的,如果大家有什么实用的建议,欢迎留言讨论. 一. 版本控制 Solution是有版本号的,率性的人可能在新建一个solution的时候,直接赋值1.0, ...