1、 Mysql语句
1.1、 Mysql数据库的操作
1.1.1、 查看数据库
查看数据库有3中方式
1.1.1.1、 第一种直接进入数据库查看(交互式)
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
±-------------------+
4 rows in set (0.00 sec)
1:information_schema这个数据库保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型,访问权限等。 [ˈskimə] 存放元数据(描述数据的数据)
2:performance_schema 这是MySQL5.5新增的一个性能优化的引擎:命名PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表
http://www.cnblogs.com/hzhida/archive/2012/08/08/2628833.html
3:mysql库是系统库,里面保存有账户信息,权限信息等。
4:mysql5.7增加了sys 系统数据库,通过这个库可以快速的了解系统的元数据信息,元数据是关于数据信息的数据,如数据库名或表名,列的数据类型,或访问权限等。
1.1.1.2、 第二种以行的方式显示
mysql> show databases \G #以行的方式显示
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: mysql
*************************** 3. row ***************************
Database: performance_schema
*************************** 4. row ***************************
Database: sys
4 rows in set (0.00 sec)
1.1.1.3、 第三种在shell中查看
mysql -e后面直接跟sql语句,这种方式一般是在shell脚本中用到(非交互式)
[root@cong11 ~]# mysql -e ‘show databases’ -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
±-------------------+
1.1.2、 选择要操作的数据库
我们需要使用哪个数据库,就用use进行选择,后面的操作默认都是在被选择的数据库中进行操作。
mysql> use HA-test;
Database changed
1.1.3、 查看自己在所处的位置
mysql> select database(); //显示当前数据库
1.1.4、 在命令行选择默认的数据库
我们也可以在命令行直接选择我们需要进入的数据库
[root@cong11 ~]# mysql -uroot -p123456 HA-test
mysql> select now(),user(),database();
1.1.5、 增
1.1.5.1、 语法
create database 数据库名;
1.1.5.2、 创建数据库注意事项
1、在文件系统中,MySQL的数据存储区以目录方式表示MySQL数据库。因此,上面命令中的数据库名字必须与操作系统的约束的目录名字一致。例如不允许文件和目录名中有,/,:,*,?,”,<,>,|这些符号,在MySQL数据库名字中这些字母会被自动删除。
[root@cong11 ~]# ls /data/mysql/data/
auto.cnf ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ibtmp1 mysql performance_schema sys
2、遵从目录的约束
3、数据库的名字不能超过64个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字必须用反引号``包起来。
4、数据库不能重名
1.1.5.3、 创建一个数据库
mysql> help create database; //查看create database的帮助信息
mysql> create database if not exists db2 character set utf8; //指定字符集
mysql> create database HA;
Query OK, 1 row affected (0.00 sec)
mysql> create database HA-test;
Query OK, 1 row affected (0.00 sec)
1.1.5.4、 查看数据库
mysql> show databases;
1.1.5.5、 查看数据库目录
我们可以去数据目录下查看新创建的数据库目录
[root@cong11 ~]# ls /data/mysql/data/
1.1.6、 删
1.1.6.6、 命令
mysql> drop database HA-test;
Query OK, 0 rows affected (0.01 sec)
1.1.6.7、 移动数据库目录
上面删除数据库的方法,不安全,删除完了,无法恢复,在工作中我们可以移动数据库目录到别的地方,防止删除数据库了想要恢复。
[root@cong11 ~]# mv /data/mysql/data/HA /tmp
[root@cong11 ~]# mysql -uroot -p123456
mysql> show databases; #发现HA数据库已经不见了
1.1.6.8、 使用IF EXISTS 子句以避免删除不存在的数据库时出现的MySQL错误信息(shell脚本时用)
mysql> drop database if exists HA-test; #如果存在则删除
Query OK, 0 rows affected, 1 warning (0.00 sec)
也可以在创建数据库时使用
mysql> create database if not exists HA; #if not exists 如果不存在则创建