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. opencv 将视频分解成图片和使用本地图片合成视频

    代码如下: // cvTest.cpp : Defines the entry point for the console application. #include "stdafx.h&q ...

  2. [转载+整理]Nginx Location匹配规则

    目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, 优先度 ...

  3. windows下vim中文乱码处理

    现象:gvim安装后,打开中文utf-8编码的文件中文显示乱码 处理:1.启动gvim8.0,菜单 ”编辑“->"启动设定"在文件最开始处添加如下两行set fileenco ...

  4. SpringBoot整合JdbcTemplate连接Mysql

    import java.io.IOException; import javax.sql.DataSource; import org.apache.ignite.IgniteSystemProper ...

  5. Java中HashMap的hash分布策略的简单解释

    趴源码是看到一段不可思议的代码,网上的解释似乎不大令人满意,因此稍微花点时间解读了一下,如有错误请指正 HashMap的桶是这样搞的 // 片段1 static final int hash(Obje ...

  6. Q673 最长递增子序列的个数

    给定一个未排序的整数数组,找到最长递增子序列的个数. 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7] ...

  7. mono for android读书笔记之硬件编程(转)

    本章将会介绍: 传感器的API 加速器编程,设备的方向,近场检测 网络编程 蓝牙编程 上述的技术的应用场景很多,比如: 1.检测当前的网络是否可用,并提醒用户,检测当前的网络类型,比如Wifi.3G. ...

  8. (转)GlusterFS 01 理论基础,企业实战,故障处理

    https://jaminzhang.github.io/glusterfs/GlusterFS-01-Theory-Basis/--------GlusterFS 01 理论基础 https://j ...

  9. Chapter 7. Packages

    Chapter 7. Packages The hierarchical naming structure for packages is intended to be convenient for ...

  10. WPF Binding(四种模式)

    在使用Binding类的时候有4中绑定模式可以选择 BindingMode TwoWay 导致对源属性或目标属性的更改可自动更新对方.此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案. OneW ...