带你了解MySQL数据库小技巧( 五 )
27、存储过程的参数可以使用中文吗?一般情况下 , 可能会出现存储过程中传入中文参数的情况 , 例如某个存储过程根据用户的 名字查找该用户的信息 , 传入的参数值可能是中文 。 这时需要在定义存储过程的时候 , 在后面加 上character set gbk,不然调用存储过程使用中文参数会出错 , 比如定义userInfo存储过程 , 代码 如下:
CREATE PROCEDURE useInfo(IN u_name VARCHAR(50) character set gbk, OUT u_age INT)
28、MySQL中视图和表的区别以及联系是什么?两者的区别: (1)视图是已经编译好的SQL语句 , 是基于SQL语句的结果集的可视化的表 , 而表不是 。
(2)视图没有实际的物理记录 , 而基本表有 。
(3)表是内容 , 视图是窗口 。
(4)表占用物理空间而视图不占用物理空间 , 视图只是逻辑概念的存在 , 表可以及时对它 进行修改 , 但视图只能用创建的语句来修改 。
(5)视图是查看数据表的一种方法 , 可以查询数据表中某些字段构成的数据 , 只是一些SQL 语句的集合 。 从安全的角度来说 , 视图可以防止用户接触数据表 , 因而用户不知道表结构 。
(6)表属于全局模式中的表 , 是实表;视图属于局部模式的表 , 是虚表 。
(7)视图的建立和删除只影响视图本身 , 不影响对应的基本表 。
两者的联系:
视图(view)是在基本表之上建立的表 , 它的结构(即所定义的列)和内容(即所有记录) 都来自基本表 , 它依据基本表存在而存在 。 一个视图可以对应一个基本表 , 也可以对应多个基本表 。 视图是基本表的抽象和在逻辑意义上建立的新关系 。
29、使用触发器时须特别注意 。 在使用触发器的时候需要注意 , 对于相同的表 , 相同的事件只能创建一个触发器 , 比如对 表account创建了一个BEFORE INSERT触发器 , 那么如果对表account再次创建一个BEFORE INSERT触发器 , MySQL将会报错 , 此时 , 只可以在表account上创建AFTER INSERT或者 BEFORE UPDATE类型的触发器 。 灵活的运用触发器将为操作省去很多麻烦 。
30、及时删除不再需要的触发器 。 触发器定义之后 , 每次执行触发事件 , 都会激活触发器并执行触发器中的语句 。 如果需求 发生变化 , 而触发器没有进行相应的改变或者删除 , 则触发器仍然会执行旧的语句 , 从而会影响新的数据的完整性 。 因此 , 要将不再使用的触发器及时删除 。
31、应该使用哪种方法创建用户?创建用户有几种方法:GRANT语句、CREATE USER语句和直接操作user表 。 一般情况 , 最好使用GRANT或者CREATE USER语句 , 而不要直接将用户信息插入user表 , 因为user表中存储了全局级别的权限以及其他的账户信息 , 如果意外破坏了user表中的记录 , 则可能会对MySQL服务器造成很大影响 。
32、mysqldump备份的文件只能在MySQL中使用吗?mysqldump备份的文本文件实际是数据库的一个副本 , 使用该文件不仅可以在MySQL中恢复数据库 , 而且通过对该文件的简单修改 , 可以使用该文件在SQL Server或者Sybase等其他数据库中恢复数据库 。 这在某种程度上实现了数据库之间的迁移 。
33、如何选择备份工具?直接复制数据文件是最为直接、快速的备份方法 , 但缺点是基本上不能实现增量备份 。 备 份时必须确保没有使用这些表 。 如果在复制一个表的同时服务器正在修改它 , 则复制无效 。 备份 文件时 , 最好关闭服务器 , 然后重新启动0000000000000002222服务器 。 为了保证数据的一致性 , 需要在备份文件前 ,执行以下SQL语句:
CREATE PROCEDURE useInfo(IN u_name VARCHAR(50) character set gbk, OUT u_age INT)
目录下即可 。 mysqlhotcopy 是一个 PERL 程序 , 它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp来快速备份数据库 。 它是备份数据库或单个表的最快的途径 , 但它只能运行在数据库文件所在的 机器上 , 并且mysqlhotcopy只能用于备份MyISAM表 。 mysqlhotcopy适合于小型数据库的备份 , 数据量不大 , 可以使用mysqlhotcopy程序每天进行一次完全备份 。
- 买买买!佳能定制玻璃杯了解一下
- 一线大牛带你深入解析AutoConfiguration源码
- 198元的旗舰手机膜了解一下?防窥、耐磨、防指纹,虽贵确实好
- 2K价位入手同轴音箱,老牌厂家KEF了解一下?
- 腾讯面试:MySQL事务与MVCC如何实现的隔离级别?
- 「杂谈」GAN最成功的3个商业化落地领域,你是否了解过?
- Linux中MySQL配置文件my.cnf参数优化
- 你真的了解边缘计算吗?——掌握边缘计算必需具备的4项技能
- Verizon用户可通过UW信号标记了解iPhone 12是否已用上5G毫米波
- RS485和CAN总线比较有什么特点?总结了6点,可帮你了解