SQL是操作关系数据库非常重要的一门编程语言

structure query language既然是语言自然可以编程,SQL的分类可依据操作对象的不同分为DDL,DML,DCL。

我们操作数据库如创建,添加,更新,删除操作,如操作表等都是属于定义范围。

所以DDL则是SQL定义语言。

我们要用数据库来存储数据,自然是先有库,再有表,然后再数据,所以我们要先定义库,定义表。

1、创建数据库

create database db_name [数据库选项] 一般情况下选项可以不填写

如我们创建一个学生库:

create database student;

PS:创建数据库时,数据库名的命令规则要遵循如下规则:

A、命令应该遵循标识符的规则 即字母,数字,下划线组成

B、数据库名不得使用系统内置的关键字或是特殊符号

C、如果使用特殊符号或是中文符号时要加上反引号‘`’。

如创建一个中文的数据库:

create database `学生库`;

那么我们创建数据库时,会自动在data目录下生成一个目录且以数据库名命名的目录同时还有一个.opt的文件,该文件是数据库的选项文件,存储的是数据库的选项信息。如果我们在创建数据库时没有写上库的选项就是默认的选项。

我们注意到,如果说我们创建数据库时使用的是特殊符号,那么在创建目录时则是使用其它编码的字符并非乱码,我们查看数据库结果如下:

所以请大家不要误认为这是乱码,这是一种错误的认识哦。当然们建议创建数据库尽量遵循标识符的规则来命名比较好。

我们在定义数据库时没有指定相应的库选项,其实是库的字符编码以及字符的校对规则,接下来我们使用一下怎么定义他:

create database `teacher` character set utf8;

我们打开数据库的选项文件显示如下:

接下来我们查看数据库服务器里有哪些数据库

查询指令:show databases;

查看数据库的创建信息:show create database db_name;

这两个查询指令非常简单,show databases是查询有哪些数据库,而show create database db_name则是查看数据库的创建信息。

数据库创建好了,我们有时候不想要了那么就会删除数据库

删除指令:drop database db_name

或是:drop database if exists db_name

第二条指令则是删除时检测库是否存在,如存在则删除,不存在删除时也不会报错。

修改数据库:

可以修改库的库选项如字符编码

alter database db_name character set gbk;

那么数据库名怎么修改呢?在早期的数据库版本是支持rename重命令这个指令的,但现在的版本没有支持了,如果说我们要更新数据库名的话有以下两个方案解决:

1、一是直接更新data目录下的数据库目录名称

2、创建一个新的数据库,然后将当前库的表复制到新库里,再将其删除。就完成了数据名的更新操作了。

以上是数据库的创建,删除,查看,更新的操作。

补充一点我们的数据库服务器里如果有许多数据库时,再检索时也可以这样做:

show databases like '%xx' 其中%相当于任意字符,以XX结尾的字符串名

关于数据表的操作及后面的知识点会依据时间情况来写。欢迎各路朋友指教。

转载于:https://blog.51cto.com/lestudy/1837446

mysql之DDL操作--数据库相关推荐

  1. 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、

    day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...

  2. mysql 中caption_Django-Model操作数据库(增删改查、连表结构)(示例代码)

    Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表 基本结构 from django.db importmodelsclassuserinfo(models ...

  3. lua mysql 事务_Lua 操作数据库(MySQL)

    Lua 操作数据库(MySQL) 对于简单的数据操作,我们可以使用文件,但是,有时这些文件操作可能效率不高.可扩展性和功能不够强大.为此,我们通常会切换到数据库.LuaSQL提供从Lua到数据库管理系 ...

  4. jsp导入MySQL包_jsp操作数据库需要导入的包

    jsp操作数据库需要导入的包 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Ser ...

  5. mysql之DDL操作

    结构化查询语言(Structured Query Language)简称SQL,是关系型数据库管理系统都需要遵循的规范,是数据库认识的语句.不同的数据库生产厂商都支持SQL语句,但都有特有内容. 普通 ...

  6. [MySQL Bug]DDL操作导致备库复制中断

    ----------------- 在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住.这会导致 ...

  7. MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)

    1.创建表基本语句 CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, userpwd VARCHAR(50) NOT NULL, userag ...

  8. c++ mysql 配置文件_C++操作数据库写入到json配置文件中

    1. 这次加了对int和varchar的处理 #include #include #include #include #include "json/json.h" #include ...

  9. (二)DDL操作数据库

    3.3.1.1创建数据库 1.直接创建数据库 CREATE DATABASE 数据库名; 2.判断是否存在并创建数据库 CREATE DATABASE IF NOT EXISTS 数据库名: 3.创建 ...

最新文章

  1. drupal7获取当前路径别名
  2. SharePoint 2010 技巧系列: 控制Ribbon菜单权限(SiteActions的例子)
  3. WinXP中快捷方式加箭头
  4. js var是什么类型_JS变量的执行环境和生命周期
  5. html5设计app数据js库,12个流行的HTML5 JS图形绘制库
  6. @程序员,你的编程方式已过时,云开发时代来临!
  7. 一起谈.NET技术,一个MVC分页Helper
  8. 持续集成~Jenkins构建GitHub项目的实现
  9. Struts2学习笔记(OGNL表达式)
  10. 如何用jsp和mysql实现简单的登陆功能
  11. 网易云Android高级,网易云音乐Android新版 一键升本地音质
  12. CIDetector 边缘识别
  13. 使用fiddler绕过“请在微信客户端打开链接”
  14. (word、ppt、excel)​office怎么删除历史文档记录
  15. 苹果cmsv10+2022新版海螺影视主题模板“带后台“M3.1全解密版本+萌芽采集插件
  16. log4j2 2.14.0之前的版本出现重大漏洞
  17. mbk文件导入到oracle,将Oracle DMP文件导入到oracle的全新安装中
  18. 流量计算机标准,1g流量等于多少mb 1G有多大?(电脑与手机)
  19. unity3d坑收集
  20. 如何做好视频舆论舆情管理?

热门文章

  1. [译]Effective Kotlin系列之探索高阶函数中inline修饰符(三)
  2. 数据显示,近半数人依然坚持在用 Windows 7
  3. [javaSE] java获取文件列表
  4. 离散数学--二元关系总结
  5. 压力不是来自于任务本身,而是任务在大脑中的堵塞,带来的焦虑和心理的抵触(转)...
  6. Css3从IE6-IE9的支持查看
  7. apk反编译看包名什么的
  8. 实现一个用于显示当前时间的Google Android 窗口小部件(AppWidget)
  9. OpenCV AprilTags 识别
  10. python换中包_在Linux中替换已安装的python包中的源代码