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结尾的字符串名

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

时间: 2024-08-29 22:10:10

mysql之DDL操作--数据库的相关文章

边记边学PHP-(十六)PHP使用MySQL扩展库操作数据库

PHP提供了很多扩展库,这里说的是使用MySQL扩展库,但是这种扩展库在不久的将来就会被摒弃,因为如果使用MySQL扩展库编写的代码在运行的时候会有warning的提示.我本来想直接写另一种,但是感觉这是基础.MySQL扩展库,一说到库,自然而然就想到是一堆函数,很多函数组成一个库,使用扩展库也就是使用里面的函数.MySQL扩展库是完全面向过程的,显然不符合面向对象的特性,被摒弃也是可以理解的.废话不多说,直接上重点. 一.PHP使用MySQL扩展库操作数据库的示意图 此图是我自己画的,可能有不

DDL 操作数据库

DDL 操作数据库:常用的操作 CRUD 一.C(create)创建 1.创建数据库 create database 数据库名称; 2.创建数据库,判断是否存在,再创建(如果存在,就不再创建) create database if not exists 数据库名称; 3.创建数据库,并指定字符集 create database 数据库名称 character set 字符集名; Demo : 创建 DB1 数据库,判断是否存在,并制定字符集为 utf8: create database if n

mysql在线ddl操作

mysql5.6开始支持在线ddl,在线ddl能够提供下面的好处: 1提高生产环境的可用性2在ddl执行期间,获得性能和并发性的平衡,可以指定LOCK从句与algorithm从句,lock=exclusize会阻塞整个表的访问,lock=shared会允许查询但不允许dml,lock=none允许查询和dml操作,lock=default或是没有指定,mysql使用最低级别的锁,algorithm指定是拷贝表还是不拷贝表直接内部操作,3只对需要的地方做改变,不是创建一个新的临时表. 之前ddl操

MySQL创建及操作数据库建议命令汇总

SQL全称:结构化查询语言(Structured Query Language) 包含4种语言 1.数据定义语言 DDL Data Definition Language 2.数据操作语言 DML Data Manipulation Language 3.数据查询语言 DQL Data Query Language 4.数据控制语言 DCL Data Control Language DDL中的常用命令: 1.创建数据库 create database db_name character set

mysql之DDL操作--数据表

我们创建好了数据库以后,就可以创建相应的数据表,那么创建表也是属于DDL数据定义层面,接下来我们来学习一下. 1.创建数据表 创建指令:create table tb_name [表选项] 我们发现指令与数据库的创建指令是相同的,没什么大的区别. PS:当然我们创建表之前,首先先选择相应的数据库. 接下来我们创建一张学生信息表 create table student_studentinfo( id int, name varchar(5), class_id int); 关于列类型以及列约束即

PHP的mysql扩展整理,操作数据库的实现过程分析

从某种程度上说,php就是一个数据库的客户端. 尽管官方已经不推荐使用,php7.0甚至已经移除了mysql扩展.但是学习一下面向过程的编程思想也是不错的. 核心步骤 连接数据库 => 执行sql语句 其实通过mysql扩展对数据库的操作都是围绕这两个步骤来的 详细步骤 详细步骤流程图如下: 查询操作 下面程序可以实现查询本地test数据库中class表,并将查询结果输出: <?php header("content-type:text/html;charset:utf-8"

MySQL创建和操作数据库表demo

[1]建立员工档案表要求字段:员工员工编号,员工姓名,性别,工资,email,入职时间,部门. [2]合理选择数据类型及字段修饰符,要求有NOT NULL,auto_increment, primary key等. DROP TABLE IF EXISTS `workers_info`;CREATE TABLE `workers_info` (`id` int(11) NOT NULL AUTO_INCREMENT,`workername` varchar(20) NOT NULL,`sex`

MySQL/MariaDB基础性知识及DDL操作详解

前言 MySQL/MariaDB是一个开放源码的小型关联式数据库管理系统,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL/MariaDB作为网站数据库. 基础架构 MySQL核心组件 连接池:认证.线程重用.连接数限制.内存检查.缓存 SQL接口:DDL, DML, 关系型数据库的基本抽象 parser: 查询转换.对象权限检查 优化器:访问路径,性能相关的统计数据 caches和buffers:与存储引擎自身相关的I/O性

边记边学PHP-(十七)PHP使用MySQLi扩展库操作数据库1

上一篇写了使用MySQL扩展库操作数据库,但是MySQL扩展库是完全面向过程的库,与现在逐渐走上舞台的面向对象思想有点差别.那么MySQLi扩展库就很好的解决了这个问题. 一.MySQLi扩展库是什么 mysqli(mysql improve)是mysql扩展库的增强版. mysql扩展库 和mysqli扩展库的比较: 1.mysqli的稳定性.安全性和效率有所提高 2.mysqli支持面向对象编程,以前的mysql是面向过程的.同时mysqli扩展库考虑到PHP老程序员,也提供了面向过程的风格