DDL(数据库定义语言)(五)
一、数据定义语言(Data Definition Language)的基本操作
- # 查看所有数据库名称:
- show databases;
- # 切换数据库;切换到test数据库:
- use information_schema;
- # 显示所有表:
- show tables;
- # 查询表内容:
- select * from CHARACTER_SETS;
二、DDL数据库的操作
2.1 创建数据库
- CREATE DATABASES 库名字 CHARSET 字符集;
# 规范:关键字一般大写,库名字小写,使用utf8字符集
CREATE DATABASE testdb charset utf8;- # 如果这个数据已经存在,那么会报错database exists
- create database student;
- # 如果不存在创建,存在就不创建!
- create database if not exists student;
忽略大小写参数:可以设置MySQL忽略大小写(全部变成小写),设置前提,是在规划数据库时就加上。如果后期加上,可能会导致use不到大写的库。
- show variables like '%lower%';
# 将值设置为1,忽略大写小- lower_case_table_names = 1
2.2 删除数据库
- DROP DATABASE student;
- # 如果存在删除,不存在就不删除
- drop database if exists student;
- # 删除名为test999的数据库。如果这个数据库不存在,那么会报错 database doesn't exist
- drop database student;
2.3 修改数据库的字符集
注意:修改后的字符集必须是前者的严格超集。修改有风险,编码不匹配会出现乱码。
- ALTER DATABASE student CHARSET utf8mb4;
三、DDL表的定义
3.1 创建表的语法
- help create table;
- 创建表 CREATE TABLE 表名
- (
- 字段名1,数据类型[完整性约束条件],
- 字段名2,数据类型[完整性约束条件],
- ...
- 字段名n,数据类型[完整性约束条件]
- );
3.2数据类型
数值类型
日期和时间类型
字符串类型
3.3 约束条件
- PRIMARY KEY # 主键约束,用于唯一标识对应的记录
- FOREING KEY # 外键约束
- NOT NULL # 非空约束
- UNIQUE # 唯一性约束
- DEFAULT # 默认值约束,用于设置字段的默认值
3.4 示例
- use webdb;
- -- DROP TABLE t1;
- CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '学生ID',
- NAME VARCHAR(20) NOT NULL COMMENT '学生姓名',
- age TINYINT COMMENT '学生年龄',
- gender ENUM('m','f') NOT NULL DEFAULT 'm' COMMENT '学生性别',
- birthday DATETIME DEFAULT NOW() COMMENT '入学时间',
- telnum varchar(12) NOT NULL UNIQUE COMMENT '手机号码');
3.5 查看表及表结构
- # 查看所有表
- SHOW TABLES;
- # 查看t1表结构
- DESC t1;
- # 查看创建表语句
show create table t1;
3.7 修改表名
- # 将t1表名称修改为frist_grade
ALTER TABLE t1 RENAME frist_grade;
3.8 修改字段名称
- # 修改字段名 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
- ALTER TABLE frist_grade CHANGE birthday bir datetime DEFAULT CURRENT_TIMESTAMP COMMENT '入学时间';
3.9 修改字段类型
- # 修改字段的数据类型 ALTER TABLE 表名 MODFIY 字段名 数据类型;
# 将NAME的长度修改为30- ALTER TABLE frist_grade MODIFY NAME varchar(30);
3.10 添加字段
- # 添加字段 ALTER TABLE 表名 ADD 新字段名 数据类型;
- # 在表的末尾增加一列
- ALTER table frist_grade ADD wechat VARCHAR (20) NOT NULL UNIQUE;
- # 指定位置添加列,在birthday后面添加一个email列
- ALTER TABLE frist_grade ADD email VARCHAR(50) NOT NULL AFTER birthday;
- # 在第一列位置,添加idcard列
- ALTER TABLE frist_grade ADD idcard VARCHAR(20) not NULL FIRST;
3.11 删除字段列
一定要认真审核,反复和开发人员确认,删除列时,会将此列原有数据全部清除掉。删除之前要备份
- # 删除字段 ALTER TABLE 表名 DROP 字段名;
- ALTER TABLE frist_grade DROP hobby;
3.12 删除表
- DROP TABLE frist_grade;
DDL(数据库定义语言)(五)的更多相关文章
- 数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)
Mysql是一个非常典型的C/S结构的应用模型,所以Mysql连接必须依赖于一个客户端或者驱动. 在linux中支持两种连接模式:TCP/IP模式和socket SQL语句的四部分: DDL:数据定义 ...
- MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制
/*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...
- 第一天,Mysql安装,DDL(数据库定义语言),DBA,DML(数据库操纵语言),导入外面的sql文件
把“D:\mysql-5.6.22-winx64\bin”添加到系统环境变量path中了,然后在任意目录可访问mysql等命令,这样如登录等操作就不需要进入MySQL安装目录才好执行! MySQL下载 ...
- Hive 官方手册翻译 -- Hive DDL(数据定义语言)
Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache ...
- sql 两大类 DDL数据定义语言 和DCL数据控制语言
SQL分为五大类: DDL:数据定义语言 DCL:数据控制语言 DML:数据的操纵语言 DTL:数据事务语言 DQL:数据查询语言. DDL (date definition lang ...
- mysql DDL数据定义语言
DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...
- DDL数据定义语言
DDL数据定义语言 (一)概述 DDL(Data Definition Language):数据定义语言,用来定义数据库对象,库.表.列等:创建.删除.修改 库,表结构.主要分为操作数据库的DDL和操 ...
- oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言
DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...
- Oracle language types(语言种类) 表的相关操作 DDL数据定义语言
数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...
随机推荐
- [LeetCode] 82. Remove Duplicates from Sorted List II 移除有序链表中的重复项之二
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- 第01组 Beta冲刺(3/5)
队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/12008397.html 作业博客: https://edu.cnblogs.com/campus/fz ...
- 应用层协议:HTTP
1. HTTP定义 HyperText Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络 ...
- .NET Core:Api版本控制
(1)先安装Microsoft.AspNetCore.Mvc.Versioning (2)在Startup的ConfigureServices方法中加入:services.AddApiVersioni ...
- 迁移历史sql数据
--select * into Trade2018 from Aozzo_ODS..Trade t1 --where t1.Created<'2019-01-01' --创建索引 --creat ...
- 系统内置委托Action和func
Action委托, action是系统内置的委托,它可指向无返回值,没有参数的方法. using System; using System.Collections.Generic; using Sys ...
- 四种软件开发模式:tdd、bdd、atdd和ddd的概念
看一些文章会看到TDD开发模式,搜索后发现有主流四种软件开发模式,这里对它们的概念做下笔记. TDD:测试驱动开发(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心 ...
- [转] vue前端异常监控sentry实践
1. 监控原理 1.1 onerror 传统的前端监控原理分为异常捕获和异常上报.一般使用onerror捕获前端错误: window.onerror = (msg, url, line, col, e ...
- Lambda表达式的用法
参考:https://www.cnblogs.com/knowledgesea/p/3163725.html
- MVC+Ninject+三层架构+代码生成 -- 总结(三、實體類)
一.動軟代碼生成器生成 實體類 2.VS視圖--實體類,其中Condition文件夾是存放 搜索的分頁信息 using System; using System.Collections.Generic ...