前文索引:CentOS7 下安装 Mysql8
说明:在软件开发领域,对数据的操作是必不可少的一个环节,而对数据的存储就少不了数据库的使用,现阶段数据库可以分为两大类关系型数据库(RDBMS)和非关系型数据库(NoSql),接下来的系列将依Mysql为例,讲解关系型数据库的基本操作。
Mysql提供了几条数据库级别的语句:
1、USE : 用于选定一个默认数据库
2、CREATE DATABSE : 用于创建数据库
3、ALTER DATABSE : 用于更改数据库的全局信息
4、DROP DATABSE : 用于删除数据库
一、USE选择数据库:
使用USE语句可以选择数据库,并把它指定为Mysql服务器连接的默认(当前)数据库;
语法:USE db_name;
注意:
1、要选择数据库的前提条件是,你必须具备相应的访问权限,否则,会出现错误提示。
2、选择数据库的操作并不一定是必须的,在没有选择数据库的情况下,只要用数据库名来限定表名,就可以应用数据库中的表,如:
SELECT * FROM sampdb.user;
3、选择一个数据库并不意味着它就是此次会话期间的默认数据库,我们可以随时调用USE语句切换数据库。
二、CREATE DATABSE创建数据库:
使用CREATE DATABSE可以新建我们的数据库;
语法:CREATE DATABSE db_name;
完整语法:CREATE DATABSE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation];
注意:
1、创建数据库的先决条件是,必须拥有CHARTE权限,这个数据库是不存在的
2、在默认条件下,我们创建一个已经存在的数据库,系统会报错,但我们可以通过扩充子句来规避这种错误,如:
CREATE DATABSE IF NOT EXISTS db_name;
3、默认情况下,服务器的字符集和排序规则将成为新建数据库的默认字符集和排序规则,但我们可以通过扩充子句 CHARACTER SET 和 COLLATE 来自定义,如:
CREATE DATABSE db_name CHARACTER SET utf8 COLLATE utf8_lcelandic_ci;
4、如果只设定CHARACTER SET ,而没有设定COLLATE,则意味使用这个给定字符集的默认排序规则。如果只设定COLLATE,而没有设定CHARACTER SET,则意味着使用排序规则名字开头部分来确定字符集
5、所有前面提到的字符集必须是当前服务器所支持的
三、ALTER DATABSE修改数据库
当我们需要修改数据库全局属性时,可以通过ALTER DATABSE语句改变
语法:ALTER DATABSE [db_name] [CHARACTER SET charset] [COLLATE collation];
注意:
1、当前登陆用户必须拥有ALTER权限
2、如果省略db_name名字,那么ALTER DATABSE 会使用默认数据库(即:USE 选择数据库)
四、DROP DATABSE删除数据库:
当我们想要删除掉数据库时,可以通过DROP DATABSE语句操作
语法:DROP DATABSE db_name;
注意:
1、当前登陆用户必须拥有DROP权限
2、千万不要随便执行DROP DATABSE语句,它会删除掉数据库和启动所有内容(表、存储过程等)
3、一个数据库就是Mysql数据目录里的一个目录,这个目录主要用于存储对象、如表、视图、触发器等。如果执行DROP DATABSE失败,通常是因为那个数据库目录中包含了一些与数据库对象无关的文件,而DROP DATABSE不会删除这类文件,因而也就不会删除这个目录,想要真正删除这个数据库,此时,需要我们手动删除这类文件,然后执行DROP DATABSE语句