数据定义语言(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 ...
随机推荐
- 发现了一个App拉新工具:免填邀请码
去年公司开始着手开发一个App项目,从调研到开发完成,前前后后历时快半年(没少加班),目前产品已经上架了各个应用市场,名字就不提了,省得说我打广告.今年开年说要开始做冷启动了,大家都知道,这才是最苦逼 ...
- @vue-cli3创建项目报错:ERROR command failed: npm install --loglevel error --registry=https://registry.npm.taobao.org --di
使用@vue-cli3时 在你感觉所以配置都搞好开始创建项目时,不停的报错,就是创建不成功 清npm缓存也不行 改淘宝镜像也不行 就快奔溃了,最后最终(其实我在凑150字,为了能发到首页给更多采坑的兄 ...
- 1.2环境安装「深入浅出ASP.NET Core系列」
官网 在介绍安装环境之前,先介绍周边信息,比如微软net官网. https://www.microsoft.com/net 这个网站是学习微软技术栈比较权威的地方,包括环境下载,学习,架构,文档,社区 ...
- 在React中使用Typescript的实践问题总结
1.布尔值的大小写问题: 声明变量类型的时候,使用小写boolean 2. 对于从父组件传递过来的函数,子组件在模版中调用时,如果采用原来的写法,会报错: 改变写法后是如下这样,如果有参数和函数返回值 ...
- Centos7上安装docker
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器 ...
- java爬虫系列第三讲-获取页面中绝对路径的各种方法
在使用webmgiac的过程中,很多时候我们需要抓取连接的绝对路径,总结了几种方法,示例代码放在最后. 以和讯网的一个页面为例: xpath方式获取 log.info("{}", ...
- Spring MVC(二)基于标注的MVC
1.基于标注的Spring MVC 1.1 建立一个项目导入jar包(ioc aop mvc) 拷贝容器对应的配置文件到src下 在WEB-INF建立一个login.jsp 1.2 在web.xml ...
- 禁用事件event默认行为
在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. js中return false作用一般是 ...
- SharpMap和NetTopologySuite叠加分析问题
先附上实现的相交叠加分析的部分代码,然后请教个问题,希望能够得到解答. /// <summary> 执行相交叠加分析 </summary> private void Execu ...
- iOS---------获取当前年份
NSDate * senddate=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [d ...