数据库的基本操作

一、数据库语句操作

  1. 查看已有的数据库

格式: show databases;

  1. 选择某个数据库

格式:use 数据库名;

eg>>: use db;

  1. 查看当前所在的数据库

格式:select database();

  1. 创建数据库

格式: create database 数据库名 [charset=”编码格式”];

eg>>: create database db charset=”utf8″;

  1. 查看数据库创建的语句

格式:show create database 数据库名;

eg>>: show create database db;

  1. 删除数据库

格式:drop database 数据库名

eg>>: drop database db

二、修改数据编码数据库

  1. 修改数据库字符编码

格式: alter database 数据库名 charset=”字符编码”;

eg>>: alter database db charset=\’\’utf8″;

  1. set修改字符编码

格式:set names \’utf8\’;

三、用户对数据库权限操作(重要)

  1. 为特定用户分配数据库权限

格式:grant 权限1,权限2…权限n on 数据库.表 to 用户名@“主机名” identified by \’密码\’;

注释:

1)all:所有权限,select, drop, update….

2)db*:db数据库下所有表

3)randysun@\’localhost\’:本机可以通过randysun用户登入

4)identified by \’123\’:密码为123

eg>>: grant all on *.* to randysun@\’localhost\’ identified by \’123\’;

  1. 为用户分配数据库指定权限

格式:grant 权限1,权限2…权限n on 数据库.表 to 用户名@“主机名” identified by \’密码\’;

eg>>: grant select, update, delete,select, insert on db.* to randy@”localhost” identifyed by \’123456\’;

  1. 撤销权限

格式:revoke 权限1,权限2…权限n 数据库名.表名 from 用户名@’主机名‘;

eg>>: revoke delete on db.* from randy@\’localhost\’\’;

  1. 删除用户

格式: drop user 用户名@’主机号‘;

eg>>: drop user randy@\’localhost\’;

四、数据库的模式

mysql 5.6 以后默认都是安全模式

  1. mysql 5.6 版本
  1. 非安全性,默认

sql_model=no_engine_substitution

  1. 安全性

sql_model=strict_trans_tables

  1. 查看当前数据库模式

格式:show variables like “%sql_mode%”; # %匹配0~n个任意字符 => 模糊查询

  1. 临时设置安全模式(重启服务后被重置)

格式:set global sql_mode=\’模式\’;

eg>>:set global sql_mode=”strict_trans_tables”;

注:1) 在root用户登录状态下

​ 2)在设置后,quit断开数据库连接后(服务器不重启)就会进入安全模式

  1. 安全模式

安全模式下,非安全模式下sql执行的警告语句,都会抛异常

eg>: create table t1(name char(2));
eg>: insert into t1 values (“ab”) # 正常
eg>: insert into t1 values (“owen”) # 错误 Data too long for column \’name\’ at row 1

版权声明:本文为randysun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/randysun/p/11629789.html