SQL-数据定义语言(DDL)

一.操作数据库

1.查询

# 查询所有数据库
show databases; # 查询当前数据库
select database();

2.创建

create database [if not exists] {数据库名} [default charset {字符集}] [collate {排序规则}];

常用可选项:

  1. [if not exists] :若重名数据库存在则不执行任何操作
  2. [default charset {字符集}] :指定数据库使用的字符集,如utf-8(据说不建议设为utf-8,建议设为utf-8mb4)
  3. [collate {排序规则}] :指定数据库使用的排序规则

3.删除

drop database [if exists] {数据库名};

[if exists] :如果存在则删除

4.使用

use {数据库名};

二.操作表

1.查询

1.1. 查询当前数据库所有表

show tables;

1.2. 查询指定表

desc {表名};

1.3. 查询指定表的建表语句

show create table {表名};

2.创建

create table {表名}(
字段1 类型 [null] [comment 注释],
字段2 类型 [null] [comment 注释],
...
字段n 类型 [null] [comment 注释]
)[comment 表注释];

[null] : 允许使用null值

字段:指的是表中对象的内容的名字,如表中对象为人,那字段可以是姓名、性别、年龄等等,相当于表格中的列表头。

注意:在终端中操作数据库,在未写分号之前回车会自动换行,但是换行后无法编辑上面行的内容,需要在换行前确认内容无误。

3.数据类型

挺多的,详细内容直接上网搜。

一些知识点:

  • 数值类型使用无符号时,直接在后面加上unsigned即可,如无符号整数:int unsigned

  • char(定长字符串)和varchar(变长字符串)使用时需要在后面括号加上制定的最大字符数量,如char(10)。

  • char类型即时存储的字符少于规定,依旧会以空格填充满规定长度;varchar类型则不会,存了多少就算多少(前提是少于规定字符数量)。char比varchar性能高。

4.修改和删除

4.1. 添加字段

alter table {表名} add {字段名} {类型(长度)} [comment {注释}] [{约束}];

4.2. 修改

# 修改数据类型
alter table {表名} modify {字段名} {新数据类型(长度)}; # 修改字段名和字段类型
alter table {表名} change {旧字段名} {新字段名} {新数据类型(长度)} [comment {注释}] [{约束}]; # 修改表名
alter table {表名} rename to {新表名};

4.3. 删除

# 删除字段
alter table {表名} drop {字段名}; # 删除表
drop table [if exists] {表名}; # 删除指定表,并重新创建该表
truncate table {表名};

MySQL学习笔记-数据定义语言的更多相关文章

  1. 【MySQL】DDL数据定义语言的基本用法create、drop和alter(增删改)

    DDL 的基础语法 文章目录 DDL 的基础语法 对数据库进行定义 对数据表进行定义 创建表结构(数据表) 设计工具 修改表结构 小结 参考资料 简单复习一波 SQL必知必会 DDL 的英文全称是 D ...

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

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

  3. MySQL学习笔记 -- 数据表的基本操作

    数据库是一个可以存放数据库对象的容器,数据库对象包括:表.视图.存储过程.函数.触发器.事件.其中,表是数据库最基本的元素,是其他数据库对象的前提条件. 表中的一列称为一个字段,一行称为一条记录. 1 ...

  4. mysql学习笔记--数据操作

    一.插入数据 1. 语法:insert into 表名 (字段名.字段名,...) values (值1,值2...) 2. 注意: a. 插入字段的个数和顺序与值的个数和顺序必须一致 b. 通过de ...

  5. MySQL SQL DLL (数据定义语言)

    CREATE CREATE DATABASE CREATE DATABASE 用于创建数据库 CREATE DATABASE new_database_name; CREATE TABLE CREAT ...

  6. MySQL之DDL数据定义语言:库、表的管理

    库的管理 常用命令 #创建库 create database if not exists 库名 [ character set 字符集名]; create database if not exists ...

  7. mysql学习笔记--数据库内置函数

    一.数字类 1. 生成随机数:rand() a. 随机抽取2位 select * from stuinfo order by rand() limit 2 2. 四舍五入:round(数字) 3. 向 ...

  8. oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言

    DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...

  9. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  10. MySQL学习笔记_5_SQL语言的设计与编写(上)

    SQL语言的设计与编写(上) 一.SQL语句分类 数据定义语言(DDL): 用于定义和管理数据对象,包括数据库.数据表.视图.索引等.例如:CREATE.DROP.ALTER等语句. 数据操作语言(D ...

随机推荐

  1. C3P0反序列化链分析

    前言 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.使用它的开源项目有Hibernate.Spring等.之前有接触到过,但是没有深入了解 ...

  2. ImageJ使用教程(一):开始使用

    目录 简介 界面介绍 Edit->Options 开始使用 打开图片 放大拖拽 图片信息 色彩分析 保存图片 总结 参考文章 ImageJ软件 简介 ImageJ是一个基于java的公共的图像处 ...

  3. Vue3实现图片滚轮缩放和拖拽

    在项目开发中遇到一个需求: 1:用鼠标滚轮可对图片进行缩放处理 2:点击按钮可对图片进行缩放处理 3:可对图片进行拖拽处理 我在开发中通过自己实现与百度查看优秀的铁子进行了两种类型的使用 <te ...

  4. Java面试题:请谈谈Java中的volatile关键字?

    在Java中,volatile关键字是一种特殊的修饰符,用于确保多线程环境下的变量可见性和顺序性.当一个变量被声明为volatile时,它可以确保以下两点: 内存可见性:当一个线程修改了一个volat ...

  5. 力扣495(java)-提莫攻击(简单)

    题目: 在<英雄联盟>的世界中,有一个叫 "提莫" 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态.现在,给出提莫对艾希的攻击时间序列和提莫攻击的中 ...

  6. 智能logo免费体验|网站Logo这样设计搜索排名跟着提升

    ​简介:一个好的网站logo,不仅让用户一眼知道网站品牌传递的信息,还能提高网站专业度和丰富度,增加SEO搜索排名.今天分享下如何设计一款实用的网站logo.阿里云智能logo设计,在线免费体验log ...

  7. 双引擎驱动Quick BI十亿数据0.3秒分析,首屏展示时间缩短30%

    ​简介:在规划中,Quick BI制定了产品竞争力建设的三大方向,包括Quick(快)能力.移动端能力和集成能力.针对其中的产品"报表查看打开慢""报表开发数据同步慢&q ...

  8. Cloudera Manager 术语和架构

    ​简介: 本文介绍了Cloudera Manager 的常见术语和架构 Cloudera Manager 术语 为了有效地使用Cloudera Manager,您应该首先了解其术语. 术语之间的关系如 ...

  9. dotnet 警惕 async void 线程顶层异常

    在应用程序设计里面,不单是 dotnet 应用程序,绝大部分都会遵循让应用在出现未处理异常状态时终结的原则.在 dotnet 应用里面,如果一个线程顶层出现未捕获异常,则应用进程将会被认为出现异常状态 ...

  10. VisualStudio 如何快速添加一个 Git Tag 推送

    在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器.配合推 Tag 打包 NuGet 的方法 ...