1、create命令用于创建数据库。
create命令格式:
create database <数据库名>;
注意:创建数据库之前要先连接Mysql服务器。
1.1 建立一个名为test的数据库:
create database test;
1.2 创建数据库并分配用户:
CREATE DATABASE 数据库名;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';
SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
依次执行以上3个命令完成数据库test创建。
2、show databases命令用于显示所有数据库。
show databases命令格式:show databases;
注意:为了不在显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明。
2.1 修改MYSQL的配置my.ini里面修改default-character-set=gbk 代码运行时修改:
Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
3、drop命令用于删除数据库。
drop命令格式:
drop database <数据库名>;
3.1 删除一个已经确定存在的数据库:
drop database test;
3.2 删除一个不确定存在的数据库:
drop database test;
ERROR 1008 (HY000): Can't drop database 'test'; database doesn't exist
// 发生错误,不能删除'test'数据库,该数据库不存在。
drop database if exists test;
Query OK, 0 rows affected, 1 warning (0.00 sec)
//产生一个警告说明此数据库不存在
create database test; // 创建一个数据库
Query OK, 1 row affected (0.00 sec)
drop database if exists test; // if exists 判断数据库是否存在,不存在也不产生错误
Query OK, 0 rows affected (0.00 sec)
4、use命令可以让我们来使用数据库。
use命令格式:
use <数据库名>;
4.1 如果test数据库存在,尝试存取它:
use test;
4.2 use 语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到出现下一个不同的use语句:
mysql> USE db1;
mysql> SELECT COUNT(*) FROM mytable; # selects from db1.mytable
mysql> USE db2;
mysql> SELECT COUNT(*) FROM mytable; # selects from db2.mytable
4.3 使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。下面的例子可以从db1数据库访问author表,并从db2数据库访问editor表:
mysql> USE db1;
mysql> SELECT author_name,editor_name FROM author,db2.editor WHERE author.editor_id = db2.editor.editor_id;
4.4 连接以后怎么退出当前数据库
use 其他数据库名字;
5、select命令表示当前选择(连接)的数据库。
select命令格式:mysql> select database();
MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能呢?
//显示MYSQL的版本
mysql> select version();
+--------------+
| version() |
+--------------+
| 5.5.18.1-log |
+--------------+
1 row in set (0.00 sec)
//显示当前时间
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2016-10-17 17:58:38 |
+---------------------+
1 row in set (0.01 sec)
//显示年月日
mysql> SELECT DAYOFMONTH(CURRENT_DATE);
+--------------------------+
| DAYOFMONTH(CURRENT_DATE) |
+--------------------------+
| 17 |
+--------------------------+
1 row in set (0.00 sec)
mysql> SELECT MONTH(CURRENT_DATE);
+---------------------+
| MONTH(CURRENT_DATE) |
+---------------------+
| 10 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT YEAR(CURRENT_DATE);
+--------------------+
| YEAR(CURRENT_DATE) |
+--------------------+
| 2016 |
+--------------------+
1 row in set (0.00 sec)
//显示字符串
mysql> SELECT "hello world!";
+--------------+
| hello world! |
+--------------+
| hello world! |
+--------------+
1 row in set (0.00 sec)
//当计算器用
mysql> select ((1 * 100) / 10 ) + 2;
+-----------------------+
| ((1 * 100) / 10 ) + 2 |
+-----------------------+
| 12.0000 |
+-----------------------+
1 row in set (0.00 sec)
//串接字符串
select CONCAT(f_name, " ", l_name)
AS Name
from employee_data
where title = 'Marketing Executive';
+---------------+
| Name |
+---------------+
| Monica Sehgal |
| Hal Simlai |
| Joseph Irvine |
+---------------+
3 rows in set (0.00 sec)
注意:这里用到CONCAT()函数,用来把字符串串接起来。另外,我们还用到以前学到的AS给结果列’CONCAT(f_name, ” “, l_name)’起了个假名。