创建
Create database mydb1;
Create database mydb2 character set gbk;
Create database mydb3 character set gbk COLLATE gbk_chinese_ci;
查询
查看当前数据库服务器中的所有数据库
Show databases;
查看前面创建的mydb2数据库的定义信息
Show create database mydb2;
删除前面创建的mydb3数据库
Drop database mydb3;
修改
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
alter database mydb2 character set utf8;
删除 Drop database mydb3;
* 其他:
查看当前使用的数据库 Select database();切换数据库 Use mydb2;
1. 备份
Mysqldump –uroot –p123 mydb1>d:/mydb1.sql
2. 恢复
前提:必须手动创建数据库
库外恢复:mysql –uroot –p123 mydb1<d:/mydb1.sql
库内恢复:需要登录数据库
手动创建数据库,use databaseName;
source d:/mydb1.sql
注意:备份和第一种恢复操作不需要登录数据库
事务操作:
cmd中:mysql的事务的提交默认的时自动提交的。
查看MySQL的事务的提交方式:
show variables like '%commit%';
设置MySQL事务的提交方式:
set autocommit = off;
当自动提交关闭后,以后每条语句都必须手动commit才可以生效。
手动提交事务:
star transaction;开启事务(使用此语句后,自动事务将失效)
commit; 真正修改数据库数据。
rollback;将数据恢复到原始状态。
事务隔离级别:
脏读:一个事务读取到了另一个事务未提交数据
不可重复读:指多次读取的数据不一致(读取到了一个事务的提交数据) 强调update【指的是数据内容的变化】
虚读或幻读:指多次读取的数据不一致 强调insert 【指的是数据的数量的变化】
1 Serializable:可避免脏读、不可重复读、虚读情况的发生。(串行化)
2 Repeatable read:可避免脏读、不可重复读情况的发生。(可重复读)不可以避免虚读
3 Read committed:可避免脏读情况发生(读已提交)
4 Read uncommitted:最低级别,以上情况均无法保证。(读未提交)
Mysql数据库默认是 Repeatable read
Oracle数据库默认是read committed
设置事务的隔离级别:
Set session transaction isolation level read uncommitted;