MySQL数据库(7)----数据库的选择、创建、删除和更改
1.选择数据库
使用 USE 语句可以选择数据库,并把它指定为MySQL服务器连接的默认(当前)数据库:
USE db_name;
要想选择数据库,用户必须要具备相应的访问权限;否则,会出现错误提示。
选择了一个数据库,并不意味着它就是此次会话期间的默认数据库。用户可以根据需要调用 USE 语句,从而实现在两个数据库之间的任意切换。同时,选择了一个数据库也并不意味着只能使用该库里的表。由于已经有了一个默认数据库,因此如果想引用其他库里的表,则需要使用与这些表相对应的那个库的标识符来限定它们的名字。例如,用户实现没有把 sampdb 选为默认数据库,但是想检索其中 sutdents 表里的内容,那么可以使用如下所示的查询语句:
SELECT * FROM sampdb.students;
2.创建数据库
创建数据库的语法是:
CREATE DATABASE db_name;
先决条件是:这个数据库必须不能是已经存在的,并且必须拥有 CREATE 权限。
CREATE DATABASE 语句有几个可选子句。完成语法如下:
CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation];
在默认情况下,当用户试图创建已经存在的数据库时,系统会报错。如果要避免这类错误,并且只想在给定数据库尚不存在时才创建它,那么可以加上 IF NOT EXISTS 子句:
CREATE DATABASE IF NOT EXISTS db_name;
在默认情况下,服务器的字符集和排序规则将成为新建数据库的默认字符集和排序规则。显式设置数据库属性的方法是,使用 CHARACTER SET 子句和 COLLATE 子句。例如:
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_icelandic_ci
如果只给出了 CHARACTER SET, 而没有提供 COLLATE ,则意味着使用这个给定字符集的默认排序规则。如果只给出了 COLLATE,而没有提供 CHARACTER SET,则意味着使用排序规则的名字的开头部分来确定字符集。
在创建数据库时,MySQL服务器会在其数据目录下创建一个目录,其名与数据库名相同。这个新目录被称为数据库目录。服务器还会在这个目录下创建一个名为 db.opt 的文件,用于存储一些属性,如数据库的字符集和排序规则。当以后在这个数据库里创建表时,如果表的定义里没有指定其自己的默认字符集和排序规则,那么数据库的这些默认规则都会成为该表的默认设置。
3.删除数据库
如果用户有 DROP 权限,那么删除数据库跟创建数据库一样简单:
DROP DATABASE db_name;
不要随意使用 DROP DATABASE 语句。因为它会删掉数据库和其中的所有内容(表、存储历程等)。此时,这个数据库也会永远消失,除非用户定期对它做备份,才有可能把它恢复过来。
一个数据库就是MySQL数据目录里的一个目录,这个目录主要用于存放对象,如表、视图和触发器。如果 DROP DATABASE 语句执行失败,那么通常是因为那个数据库的目录里还包含有一些与数据库对象无关的文件。DROP DATABASE 语句不会删除这类文件,因而也就不会删除那个目录。这意味着,那个数据库目录依然存在,并且如果调用 SHOW DATABASES 语句,它仍然会显示出来。想要真正删除那个数据库,就要手动删除该数据库子目录里残留的文件和目录,然后再调用 DROP DATABASE 语句。
4.更改数据库
如果拥有 ALTER 权限,则可以使用 ALTER DATABASE 语句来更改数据库的全局属性。目前,数据库的全局属性只包含默认字符集和排序规则:
ALTER DATABASE [db_name] [CHARACTER SET charset ] [COLLATE collation];
在前面 CREATE DATABASE 的讨论里,讲述了 CHARACTER SET 子句和 COLLATE 子句的效果,并且要求至少给定它们当中的一个。
如果省略了数据库名,那么 ALTER DATABASE 会应用到默认数据库。
MySQL数据库(7)----数据库的选择、创建、删除和更改的更多相关文章
- mysql 复习与学习(二)数据库及表结构的创建删除
mysql -h localhost -uroot -p123456 //连接数据库 show databases; //查看数据库 create database if not exists db_ ...
- 数据库的SQL基本用法 创建 删除 查询 修改
1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 备份数据的 ...
- MySQL 创建删除和选择数据库
使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 删除数据库 drop database <数据库名>; 选择数据库 use 数据库名 Datab ...
- 第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】
MySQL数据库,[显示.创建.选定.删除数据库],[用户管理.对用户增删改查以及授权] 1.显示数据库 SHOW DATABASES;显示数据库 SHOW DATABASES; mysql - 用户 ...
- Mysql笔记【1】-数据库的基本操作(创建/删除)
1.创建数据库 创建数据库(如果存在,则报错) #创建名称为test的数据库 create database test 查询创建完的数据库 show databases 2.删除数据库 删除数据库(如 ...
- MySQL 启动、关闭、选择数据库等命令
一.MySQL服务的启动和停止 1.net 命令来启动或停止mysql服务 net stop mysql(mysql是指你真正装的服务,如果装的是 mysql5,必须写成 net stop mysql ...
- 【数据库】8.0 MySQL入门学习(八)——创建并使用数据库、获得数据库和表的信息
1.0 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; 每台机器上的数据库列表是不同的,但是很可能有mysql和test数据库.mysql是必需的 ...
- ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据
ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...
- 用MySQL创建数据库和数据库表
1.使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql ...
- 由mysql数据库基础上的php程序实现单词的查询、删除、更改和查询
我做了一个php程序,将表单数据添加到数据库,借用mysql扩展库函数实现对mysql数据库的操作,能够实现添加单词.删除单词.更新和查询单词.运行环境是普通的mysql数据库和php.Apache服 ...
随机推荐
- 【Alpha】Phylab 展示博客
目录 Phylab Alpha 展示博客 一.团队简介 二.项目目标 2.1 典型用户 2.2 功能描述 2.3 用户量 三.项目发布与展示 3.1 新功能 3.2 修复缺陷 3.3 问题与限制 3. ...
- php 如何匹配中文或英文姓名
这几天在做项目的用户注册时,想限制用户使用一些比较奇怪的字符作为名字,即使用中文或者英文名字. 查了一些资料,例如:网友挥得更高的百度空间 写下了以下函数. //验证名字和密码 if (!preg_m ...
- maevn HelloWorld 基本命令
总结: Mvn clean compile:编译主代码 Mvn clean test:执行测试代码 Mvn clean package:打包 Mvn clean install: 安装到本地仓库 执行 ...
- html5与html4区别
1.声明方法简化,doctype.meta 2.有些元素可以省略标记,body.tbody... 3.新增语义化标签,<section><article>...<arti ...
- Hive 外部表新增字段或者修改字段类型等不生效
标题比较笼统,实际情况是: 对于Hive 的分区外部表的已有分区,在对表新增或者修改字段后,相关分区不生效. 原因是:表元数据虽然修改成功,但是分区也会对应列的元数据,这个地方不会随表的元数据修改而修 ...
- Hive初始
一.Hive概念 二.为什么要是用Hive 三.Hive优缺点 四.hive架构 一.Hive概念 Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的 ...
- spark2.4+elasticsearch6.1.1搭建一个推荐系统
目录 整体框架 安装相关的组件 elasticsearch安装 spark安装 下载es-hadoop中间件 安装计算向量相似度的elasticsearch插件 运行 结果展示 参考博客 本博文详细记 ...
- ansible 回调函数处理
https://www.u3v3.com/ar/1421 https://serversforhackers.com/c/running-ansible-2-programmatically
- 第10天:apply和call、bind、函数作为参数、返回值使用、闭包、递归的样例
apply和call apply和call都可以改变this的指向 函数的调用,改变this的指向 函数名字.apply(对象,[参数1,参数2,.....]) 方法名字.apply(对象,[参数1, ...
- [编程] C语言结构体指针作为函数参数
结构体指针作为函数参数:结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针.如果结构体成员较多,尤其是成员为数组时,传送的时间和空间 ...