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服 ...
随机推荐
- CSS--浮动(float)布局
浮动概述:浮动,指的是元素标签使用float属性.应用float属性的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.浮动的本质是让文字围绕图片,但现在很多时候使用浮动进行布局 ...
- 初入Android Studio的我
最近由于工作上的需要,领导让我去学点Android 以前因为兴趣的原因也自己搞过一点点 所以就欣然领命了 那么在此之前 我们来了解一下什么是Android 这是链接 自己去看吧 哈哈哈 https ...
- 分享:Android浏览器,用NDK C++做底层开发的Android浏览器,纯免费,无广告
分享:用 NDK C++做底层开发的Android 浏览器,纯免费,无广告 分享:用 NDK C++做底层开发的Android 浏览器,纯免费,无广告 操作简单,傻瓜一看就会 无毒.无广告.无负作用, ...
- 使用NHibernate(4)--拦截器和事件
如果想在一个事务的开始.执行中.完成后等过程中执行一些自己的逻辑(比如记录日志.查看sql),拦截器(Interceptors)和事件(Event)就可以发挥作用了.两者所能完成的功能差不多. 1,拦 ...
- 移动端优化 && 清除移动端网站点击a标签时闪现的边框或遮罩层(CSS) && 移动端点击 && 文字不可选择
在移动端网站,当你点击加了a标签的文字或图片时,该元素的周围会闪现一个蓝色的边框,在微信上的网站就是如此:而有的浏览器会闪现一个半透明遮罩层,比如移动端的Chrome浏览器,其实这些特效无非就是为 ...
- Linux网络编程服务器模型选择之并发服务器(下)
前面两篇文章(参见)分别介绍了循环服务器和简单的并发服务器网络模型,我们已经知道循环服务器模型效率较低,同一时刻只能为一个客户端提供服务,而且对于TCP模型来说,还存在单客户端长久独占与服务器的连接, ...
- JS框架设计之对象类型判断一种子模块
Javascript有两套数据类型,一套是基础数据类型,一套是对象数据类型.基础数据类型包括5种基本数据类型,分别是null,bool,undefined,number,string,也叫简单数据类型 ...
- maven多模块下新建子模块
选中parent模块,右键选择new---others 选择Maven---Maven Module,点击下一步 填写Module Name,其他默认,点击下一步 默认,下一步 默认,点击完成
- 【LeetCode题解】20_有效的括号(Valid-Parentheses)
目录 20_有效的括号(Valid-Parentheses) 描述 解法 思路 Java 实现 Python 实现 复杂度分析 20_有效的括号(Valid-Parentheses) 描述 给定一个只 ...
- mysql数据库引擎InnoDB和MyISAM
一.Mysql锁分类 表级锁:开销小,加锁块:不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最低,并发性也最高. 页面 ...