Mysql实例Mysql精粹系列(精粹)

Mysql实例Mysql精粹系列(精粹),第1张

概述介绍《Mysql实例Mysql精粹系列(精粹)》开发教程,希望对您有用。

《MysqL实例MysqL精粹系列(精粹)》要点:
本文介绍了MysqL实例MysqL精粹系列(精粹),希望对您有用。如果有疑问,可以联系我们。

MysqL实例关于MysqL整理的需要记忆和熟练掌握的内容

MysqL实例1. /* 查看 *** 作 */ ------------------------------------------------------------------------------------------------------- 1. /* 查看 *** 作 */

MysqL实例SHOW PROCESSList -- 显示哪些线程正在运行SHOW VARIABLES -- 查看变量

MysqL实例2. /* 数据库 *** 作 */ ------------------------------------------------------------------------------------------------------ 2. /* 数据库 *** 作 */

MysqL实例-- 查看当前数据库select database();-- 显示当前时间、用户名、数据库版本select Now(),user(),version();-- 复制表结构CREATE table 表名 liKE 要复制的表名-- 复制表结构和数据CREATE table 表名 [AS] SELECT * FROM 要复制的表名

MysqL实例3. /* 字符集编码 */ --------------------------------------------------------------------------------------------------------- 3. /* 字符集编码 */

MysqL实例字符编码-- MysqL、数据库、表、字段均可设置编码-- 数据编码与客户端编码不需一致SHOW VARIABLES liKE 'character_set_%' -- 查看所有字符集编码项character_set_clIEnt 客户端向服务器发送数据时使用的编码character_set_results 服务器端将结果返回给客户端所使用的编码character_set_connection 连接层编码SET 变量名 = 变量值set character_set_clIEnt = gbk;set character_set_results = gbk;set character_set_connection = gbk;SET nameS GBK; -- 相当于完成以上三个设置

MysqL实例4./* 数据类型(列类型) */ ---------------------------------------------------------------------------------------------------4. /* 数据类型(列类型) */

MysqL实例1) 数值类型  int 4字节bigint 8字节int(M) M表示总位数- 默认存在符号位,unsigned 属性修改- 显示宽度,如果某个数不够定义字段时设置的位数,则前面以0补填,zerofill 属性修改例:int(5) 插入一个数'123',补填后为'00123'- 在满足要求的情况下,越小越好.- 1表示bool值真,0表示bool值假.MysqL没有布尔类型,通过整型0和1表示.常用tinyint(1)表示布尔型.2) 字符串类型-- a. char,varchar ----------char 定长字符串,速度快,但浪费空间varchar 变长字符串,速度慢,但节省空间M表示能存储的最大长度,此长度是字符数,非字节数.不同的编码,所占用的空间不同.char,最多255个字符,与编码无关.varchar,最多65535字符,与编码有关.一条有效记录最大不能超过65535个字节.utf8 最大为21844个字符,gbk 最大为32766个字符,latin1 最大为65532个字符varchar 是变长的,需要利用存储空间保存 varchar 的长度,如果数据小于255个字节,则采用一个字节来保存长度,反之需要两个字节来保存.varchar 的最大有效长度由最大行大小和使用的字符集确定.最大有效长度是65532字节,因为在varchar存字符串时,第一个字节是空的,不存在任何数据,然后还需两个字节来存放字符串的长度,所以有效长度是64432-1-2=65532字节.例:若一个表定义为 CREATE table tb(c1 int,c2 char(30),c3 varchar(N)) charset=utf8; 问N的最大值是多少? 答:(65535-1-2-4-30*3)/3

MysqL实例5./* 建表规范 */ ------------------------------------------------------------------------------------------------------------------ 5./* 建表规范 */

MysqL实例-- normal Format,NF- 每个表保存一个实体信息- 每个具有一个ID字段作为主键- ID主键 + 原子表-- 1NF,第一范式字段不能再分,就满足第一范式.-- 2NF,第二范式满足第一范式的前提下,不能出现部分依赖.消除符合主键就可以避免部分依赖.增加单列关键字.-- 3NF,第三范式满足第二范式的前提下,不能出现传递依赖.某个字段依赖于主键,而有其他字段依赖于该字段.这就是传递依赖.将一个实体信息的数据放在一个表内实现.

MysqL实例6./* select 查询语句*/ -------------------------------------------------------------------------------------------------------- 6./* select 查询语句*/

MysqL实例1) having 子句,条件子句与 where 功能、用法相同,执行时机不同.where 在开始时执行检测数据,对原数据进行过滤.having 对筛选出的结果再次进行过滤.having 字段必须是查询出来的,where 字段必须是数据表存在的.where 不可以使用字段的别名,having 可以.因为执行WHERE代码时,可能尚未确定列值.where 不可以使用合计函数.一般需用合计函数才会用 havingsql标准要求HAVING必须引用GROUP BY子句中的列或用于合计函数中的列.

MysqL实例7./* 备份与还原 */ ------------------------------------------------------------------------------------------------------------- 7./* 备份与还原 */

MysqL实例备份,将数据的结构与表内数据保存起来.利用 MysqLdump 指令完成.-- 导出1) 导出一张表  MysqLdump -u用户名 -p暗码 库名 表名 > 文件名(D:/a.sql)2)导出多张表  MysqLdump -u用户名 -p暗码 库名 表1 表2 表3 > 文件名(D:/a.sql)3)导出所有表  MysqLdump -u用户名 -p暗码 库名 > 文件名(D:/a.sql)4)导出一个库   MysqLdump -u用户名 -p暗码 -B 库名 > 文件名(D:/a.sql)可以-w携带备份条件-- 导入1)在登录MysqL的情况下:  source 备份文件2)在不登录的情况下  MysqL -u用户名 -p暗码 库名 < 备份文

MysqL实例8./* 锁表 */ ------------------------------------------------------------------------------------------------------------------ 8./* 锁表 */

MysqL实例表锁定只用于防止其它客户端进行不正当地读取和写入MyISAM 支持表锁,InnoDB 支持行锁-- 锁定LOCK tableS tbl_name [AS alias]-- 解锁UNLOCK tableS

MysqL实例9./* 用户和权限管理 */ -------------------------------------------------------------------------------------------------------- 9./* 用户和权限管理 */

MysqL实例用户信息表:MysqL.user-- 刷新权限FLUSH PRIVILEGES-- 增加用户CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 暗码(字符串)- 必须拥有MysqL数据库的全局CREATE USER权限,或拥有INSERT权限.- 只能创建用户,不能赋予权限.- 用户名,注意引号:如 'user_name'@'192.168.1.1'- 暗码也需引号,纯数字暗码也要加引号- 要在纯文本中指定暗码,需忽略PASSWORD关键词.要把暗码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD-- 重命名用户REname USER old_user TO new_user-- 设置暗码SET PASSWORD = PASSWORD('暗码') -- 为当前用户设置暗码SET PASSWORD FOR 用户名 = PASSWORD('暗码') -- 为指定用户设置暗码-- 删除用户DROP USER 用户名-- 分配权限/添加用户GRANT 权限列表 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] 'password']- all privileges 表示所有权限- *.* 表示所有库的所有表- 库名.表名 表示某库下面的某表-- 查看权限SHOW GRANTS FOR 用户名-- 查看当前用户权限SHOW GRANTS; 或 SHOW GRANTS FOR CURRENT_USER; 或 SHOW GRANTS FOR CURRENT_USER();-- 撤消权限REVOKE 权限列表 ON 表名 FROM 用户名REVOKE ALL PRIVILEGES,GRANT OPTION FROM 用户名 -- 撤销所有权限-- 权限层级-- 要使用GRANT或REVOKE,您必须拥有GRANT OPTION权限,并且您必须用于您正在授予或撤销的权限.全局层级:全局权限适用于一个给定服务器中的所有数据库,MysqL.userGRANT ALL ON *.*和 REVOKE ALL ON *.*只授予和撤销全局权限.数据库层级:数据库权限适用于一个给定数据库中的所有目标,MysqL.db,MysqL.hostGRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤销数据库权限.表层级:表权限适用于一个给定表中的所有列,MysqL.talbes_privGRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限.列层级:列权限适用于一个给定表中的单一列,MysqL.columns_priv当使用REVOKE时,您必须指定与被授权列相同的列.

MysqL实例以上所述是小编给大家介绍的MysqL精粹系列(精粹),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对内存溢出PHP网站的支持!

《MysqL实例MysqL精粹系列(精粹)》是否对您有启发,欢迎查看更多与《MysqL实例MysqL精粹系列(精粹)》相关教程,学精学透。内存溢出 jb51.cc为您提供精彩教程。

总结

以上是内存溢出为你收集整理的Mysql实例Mysql精粹系列(精粹)全部内容,希望文章能够帮你解决Mysql实例Mysql精粹系列(精粹)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1154455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存