四、数据库操作

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)'起了个别名。
 

最新文章

  1. React组件性能优化
  2. mybatis多表连接在一起查询
  3. MYSQL入门(三)
  4. CSS3-transform变形功能
  5. HDU 2855 斐波那契+矩阵快速幂
  6. 我的c++学习(4) C++输入输出格式的控制
  7. jquery file upload 文件上传插件
  8. javascript获取随机rgb颜色和十六进制颜色的方法
  9. 在IE6下使用filter设置png背景
  10. swift app中展示折线图, 饼状图, 柱状图等数据图表
  11. ARM指令系统
  12. iOS - 数组与字典(NSArray &amp; NSDictionary)
  13. FreeSql 新查询功能介绍
  14. 踩坑学习python自动化测试第二天!
  15. IIS asp 401.1错误
  16. CSAPP lab2 二进制拆弹 binary bombs phase_6
  17. js 和 css 中 不能使用 jsp 页面中一些 标签 和 java 代码等,应注意
  18. 如何在python3环境下的Django中使用MySQL数据库
  19. Leetcode: Anagrams(颠倒字母而成的字)
  20. PyCharm鼠标右键不显示Run unittest方法

热门文章

  1. 带有FIFO硬件缓存的串口
  2. django的模型层(二)
  3. 靶机练习5: Sar
  4. du命令_Linux du命令:查看文件夹和文件的磁盘占用情况
  5. float高度塌陷和BFC
  6. JQuery 的$.each取值
  7. Account Manager privacy agreement
  8. moduleNotFoundError:No module named &#39;exceptions&#39;
  9. 小白之Python-基础中的基础05
  10. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例