mysql之DDL操作--数据库
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操作--数据库相关推荐
- 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、
day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...
- mysql 中caption_Django-Model操作数据库(增删改查、连表结构)(示例代码)
Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表 基本结构 from django.db importmodelsclassuserinfo(models ...
- lua mysql 事务_Lua 操作数据库(MySQL)
Lua 操作数据库(MySQL) 对于简单的数据操作,我们可以使用文件,但是,有时这些文件操作可能效率不高.可扩展性和功能不够强大.为此,我们通常会切换到数据库.LuaSQL提供从Lua到数据库管理系 ...
- jsp导入MySQL包_jsp操作数据库需要导入的包
jsp操作数据库需要导入的包 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Ser ...
- mysql之DDL操作
结构化查询语言(Structured Query Language)简称SQL,是关系型数据库管理系统都需要遵循的规范,是数据库认识的语句.不同的数据库生产厂商都支持SQL语句,但都有特有内容. 普通 ...
- [MySQL Bug]DDL操作导致备库复制中断
----------------- 在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住.这会导致 ...
- MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
1.创建表基本语句 CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, userpwd VARCHAR(50) NOT NULL, userag ...
- c++ mysql 配置文件_C++操作数据库写入到json配置文件中
1. 这次加了对int和varchar的处理 #include #include #include #include #include "json/json.h" #include ...
- (二)DDL操作数据库
3.3.1.1创建数据库 1.直接创建数据库 CREATE DATABASE 数据库名; 2.判断是否存在并创建数据库 CREATE DATABASE IF NOT EXISTS 数据库名: 3.创建 ...
最新文章
- drupal7获取当前路径别名
- SharePoint 2010 技巧系列: 控制Ribbon菜单权限(SiteActions的例子)
- WinXP中快捷方式加箭头
- js var是什么类型_JS变量的执行环境和生命周期
- html5设计app数据js库,12个流行的HTML5 JS图形绘制库
- @程序员,你的编程方式已过时,云开发时代来临!
- 一起谈.NET技术,一个MVC分页Helper
- 持续集成~Jenkins构建GitHub项目的实现
- Struts2学习笔记(OGNL表达式)
- 如何用jsp和mysql实现简单的登陆功能
- 网易云Android高级,网易云音乐Android新版 一键升本地音质
- CIDetector 边缘识别
- 使用fiddler绕过“请在微信客户端打开链接”
- (word、ppt、excel)​office怎么删除历史文档记录
- 苹果cmsv10+2022新版海螺影视主题模板“带后台“M3.1全解密版本+萌芽采集插件
- log4j2 2.14.0之前的版本出现重大漏洞
- mbk文件导入到oracle,将Oracle DMP文件导入到oracle的全新安装中
- 流量计算机标准,1g流量等于多少mb 1G有多大?(电脑与手机)
- unity3d坑收集
- 如何做好视频舆论舆情管理?
热门文章
- [译]Effective Kotlin系列之探索高阶函数中inline修饰符(三)
- 数据显示,近半数人依然坚持在用 Windows 7
- [javaSE] java获取文件列表
- 离散数学--二元关系总结
- 压力不是来自于任务本身,而是任务在大脑中的堵塞,带来的焦虑和心理的抵触(转)...
- Css3从IE6-IE9的支持查看
- apk反编译看包名什么的
- 实现一个用于显示当前时间的Google Android 窗口小部件(AppWidget)
- OpenCV AprilTags 识别
- python换中包_在Linux中替换已安装的python包中的源代码