MySQL 常用命令(2)------数据库操作

四、数据库操作

1、创建数据库

注意:创建数据库前要先连接mysql数据库

语法:create database <数据库名>

例:创建数据库并分配用户

1.create database 数据库名

2.GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

3.SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');

2、显示数据库

语法:show databases 

注意:为了不再显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明

1.修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk   或 utf8mb4

2.代码运行时修改:
   ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
   ②PHP代码:header("Content-Type:text/html;charset=gb2312");
   ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
该函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SET NAMES语句类似,但它还能设置mysql- > charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。

3、删除数据库

语法:drop database <数据库名>

例:删除存在的库

mysql> drop database test111;
Query OK, 0 rows affected (0.01 sec)

删除不存在的库

mysql> drop database test111;
ERROR 1008 (HY000): Can't drop database 'test111'; database doesn't exist

//发生错误,不能删除'test111'数据库,该数据库不存在

if exists 判断数据库是否存在,不存在也不产生错误 

   mysql> drop database if exists drop_database;
   Query OK, 0 rows affected, 1 warning (0.00 sec)//产生一个警告说明此数据库不存在
   mysql> create database drop_database;
   Query OK, 1 row affected (0.00 sec)
   mysql> drop database if exists drop_database;
   Query OK, 0 rows affected (0.00 sec)

4、连接数据库

语法:use <数据库名>

mysql> use test111

Database changed

mysql> use test111
ERROR 1049 (42000): Unknown database 'test111'   //数据库不存在

使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。下面的例子可以从db1数据库访问作者表,并从db2数据库访问编辑表:
   mysql> USE db1;
   mysql> SELECT author_name,editor_name FROM author,db2.editor
       ->        WHERE author.editor_id = db2.editor.editor_id;

USE语句被设立出来,用于与Sybase相兼容。

5、查看当前选择的数据库

语法:mysql> select database();

MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。

下面看下如何使用MySQL中SELECT命令的特殊功能

1.显示MYSQL的版本

mysql> select version();
+------------+
| version() |
+------------+
| 5.7.29-log |
+------------+
1 row in set (0.00 sec)

2. 显示当前时间

mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2020-06-10 15:45:45 |
+---------------------+
1 row in set (0.00 sec)

3. 分别显示年月日

mysql> SELECT DAYOFMONTH(CURRENT_DATE);
+--------------------------+
| DAYOFMONTH(CURRENT_DATE) |
+--------------------------+
| 10 |
+--------------------------+
1 row in set (0.00 sec)

mysql> SELECT MONTH(CURRENT_DATE);
+---------------------+
| MONTH(CURRENT_DATE) |
+---------------------+
| 6 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT YEAR(CURRENT_DATE);
+--------------------+
| YEAR(CURRENT_DATE) |
+--------------------+
| 2020 |
+--------------------+
1 row in set (0.00 sec)

4.显示字符串

mysql> SELECT "Hello World";
+-------------+
| Hello World |
+-------------+
| Hello World |
+-------------+
1 row in set (0.00 sec)

5.计算器功能

mysql> select ((5 * 5) / 10 ) + 25;
+----------------------+
| ((5 * 5) / 10 ) + 25 |
+----------------------+
| 27.5000 |
+----------------------+
1 row in set (0.00 sec)

6. 串接字符串
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)'起了个别名。

 

 
原文地址:https://www.cnblogs.com/zhm1985/p/13085306.html