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)----数据库的选择、创建、删除和更改的更多相关文章

  1. mysql 复习与学习(二)数据库及表结构的创建删除

    mysql -h localhost -uroot -p123456 //连接数据库 show databases; //查看数据库 create database if not exists db_ ...

  2. 数据库的SQL基本用法 创建 删除 查询 修改

    1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 备份数据的 ...

  3. MySQL 创建删除和选择数据库

    使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 删除数据库 drop database <数据库名>; 选择数据库 use 数据库名 Datab ...

  4. 第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】

    MySQL数据库,[显示.创建.选定.删除数据库],[用户管理.对用户增删改查以及授权] 1.显示数据库 SHOW DATABASES;显示数据库 SHOW DATABASES; mysql - 用户 ...

  5. Mysql笔记【1】-数据库的基本操作(创建/删除)

    1.创建数据库 创建数据库(如果存在,则报错) #创建名称为test的数据库 create database test 查询创建完的数据库 show databases 2.删除数据库 删除数据库(如 ...

  6. MySQL 启动、关闭、选择数据库等命令

    一.MySQL服务的启动和停止 1.net 命令来启动或停止mysql服务 net stop mysql(mysql是指你真正装的服务,如果装的是 mysql5,必须写成 net stop mysql ...

  7. 【数据库】8.0 MySQL入门学习(八)——创建并使用数据库、获得数据库和表的信息

    1.0 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; 每台机器上的数据库列表是不同的,但是很可能有mysql和test数据库.mysql是必需的 ...

  8. ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据

    ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...

  9. 用MySQL创建数据库和数据库表

    1.使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql ...

  10. 由mysql数据库基础上的php程序实现单词的查询、删除、更改和查询

    我做了一个php程序,将表单数据添加到数据库,借用mysql扩展库函数实现对mysql数据库的操作,能够实现添加单词.删除单词.更新和查询单词.运行环境是普通的mysql数据库和php.Apache服 ...

随机推荐

  1. 剑指offer——面试题32:从上到下打印二叉树

    void BFS(BinaryTreeNode* pRoot) { if(pRoot==nullptr) { cout<<"empty binary tree!"< ...

  2. Android序列化:Parcelable/Serializable

    1.易用性及速度 1.1 Serializable——简单易用 Serializable的作用是为了保存对象的属性到本地文件.数据库.网络流.rmi以方便数据传输,当然这种传输可以是程序内的也可以是两 ...

  3. javac的访问者模式2

    (5)Printer /** * A combined type/symbol visitor for generating non-trivial(有意义的) localized string * ...

  4. JavaScript设计模式-9.工厂模式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. ubuntu工具安装

    smplayer sudo add-apt-repository ppa:rvm/smplayer sudo apt-get update sudo apt-get install smplayer ...

  6. archlinux安装gnome的一些坑随记

    问题1:网络设置无法查看,提示缺少NetworkManager 解决:安装networkmanager库,因为gnome调用的是networkmanager这个软件来管理网络的.然后要启动它:sudo ...

  7. file_get_contents 抓取网页乱码。

    iconv string iconv ( string $in_charset , string $out_charset , string $str ) mb_convert_encoding st ...

  8. 为什么在大多数OS中都引入”打开“这一文件系统调用?打开的含义是什么?

    当用户要求对一个文件实施多次读/写或者其他操作时,每次都要从检索目录开始.为了避免多次重复检索目录,在大多数OS中都引入了”打开“这一文件系统调用,当用户第一次请求对某文件进行操作时,须先利用open ...

  9. 一些Android的博客,没事翻翻

    深入剖析Android系统(推荐) 深入浅出Android系统移植与平台开发系列(推荐) Android系统开篇(小米工程师对系统的整体分析,推荐) Android6.0Framework源码解析系列 ...

  10. 关于vs2015无法启动iis服务

    关于vs2015无法启动iis服务,以下是我自己从网上找到的问题的几种解决办法 1.安装Visual Sutudil 2015 Update 3后调试项目出现问题“无法启动iis express we ...