mysql数据库学习6_MySQL学习(六)
用户管理
--创建用户CREATE USER 用户名 IDENTIFIED BY '密码'
CREATE USER zyw IDENTIFIED BY '123456';
--修改密码(当前用户)
SET PASSWORD = PASSWORD('123456');
--修改密码(指定用户)
SET PASSWORD FOR zyw = PASSWORD('6556456');
--重命名用户名
RENAME USER zyw TO zyw1
--用户授权 ALL PRIVILEGES 全部权限,库,表
--ALL PRIVILEGES 除了给别人授权,其他操作都能执行
GRANT ALL PRIVILEGES ON . TO zyw1
--查询权限
SHOW GRANTS FOR zyw1; --查看指定用户的权限
SHOW GRANTS FOR root@localhost;
--撤销权限 REVOKE 哪些权限,ON 在哪个库撤销(.:哪个库.哪个表),FROM 给谁撤销
REVOKE ALL PRIVILEGES ON . FROM zyw1;
--删除用户DROP USER 用户名
DROP USER zyw1;
数据库备份
为什么要备份:
保证重要数据不丢失
数据转移
MySQL数据库备份的方式:
直接拷贝物理文件
使用命令行 mysqldump
(''')
-- 导出(备份)
mysqldump -hlocalhost -uroot -p123456 testdemo student > D:/a.sql;
mysqldump -h主机名 -u用户名 -p密码 数据库名 [表名1 表名2 ...] > 存放地址/文件名.sql;
-- 导入(转移)
登录mysql情况:source a.sql;
source 备份文件;
未登录: mysql -u用户名 -p密码 库名 < 备份文件;
(''')
规范化数据库设计
当数据库比较复杂时我们需要设计数据库
糟糕的数据库设计:
数据冗余,存储空间浪费
数据更新和插入异常
程序性能差
良好的数据库:
节省数据的存储空间
能保证数据的完整性
方便进行数据库应用系统的开发
设计数据库步骤:
收集信息:分析了解用户需求,理解数据库需要完成的任务
标识实体(Entiry):标识数据库需要的关键对象或实体,实体一般是名词
标识每个实体需要存储的详细信息(Attribute)
标识实体之间的关系(Relationship)
三大范式
不合规范的表设计会导致:
信息重复
更新异常
插入异常:无法正确表示信息
删除异常:丢失有效信息
第一范式(1st NF)
第一范式的目的是确保每列的原子性,如果每列数据都不可再分割,则满足第一范式
第二范式(2nd NF)
第二范式是在满足第一范式的前提下,要求每个表只能描述一件事件
第三范式(3rd NF)
第三范式是在满足第二范式的前提下,除主键外的其他列都不传递依赖于主键,则满足第三范式
第三范式需要保证数据表中的每一列数据都与主键直接相关,而不是间接相关
规范化和性能的关系
为满足某种商业目标,数据库的性能比规范化更重要
在数据库规范化的同时,需要综合考虑数据库的性能
通过在给定的表中添加额外的字段,以减少需要从搜索信息所需的时间
通过在给定表中插入计算列以方便查询
JDBC
mysql数据库学习6_MySQL学习(六)相关推荐
- MySQL数据库简单入门学习教程---带你从零开始学mysql
目录 学习教程: 接下来让我们了解一下数据库是什么? (一)什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么? 数据库: (二)安装MySQL数据库管理系统 (三)MySQL数据 ...
- 0基础能学mysql数据库吗_mysql学习入门:零基础如何使用mysql创建数据库表?
零基础如何自学Mysql创建数据库,是Mysql学习者必经之路,Mysql是受欢迎的关系数据库管理系统,WEB应用方面MySQL是很好的RDBMS应用软件之一.如何使用Mysql创建数据库表,打开My ...
- MySQL数据库(1)~~一起学习数据库冲冲冲
MySQL数据库~~一起学习数据库冲冲冲 数据库操作 1.显示当前数据库 2.创建数据库 3.使用/选中数据库 4.删除数据库 数据库表操作 1.创建表 2.查看表 3.查看表结构 4.删除表 5.表 ...
- 用vb删除mysql数据库数据_学习VB编程第99天,如何正确使用delete删除数据
今天学习的主要内容是刘金玉老师MySQL数据库零基础教程第12期. 一.删除数据语法结构 语法一:Delete from 数据表名称[where语句筛选]: 语法二:delete a,b,c from ...
- 简述使jdbc连接mysql数据库,关于JDBC的六个步骤
一.JDBC简述 JDBC(Java DataBase Connectivity) Java数据库连接 其实就是 利用Java语言/程序连接并访问数据库的一门技术 之前我们可以通过CMD或者navic ...
- MySQL 数据库锁理论(六)
9. 数据库锁理论 根据操作类型,锁可分为 读锁(共享锁): 针对同一份数据,多个读操作可以同时进行而并不相互影响. 写锁(互斥锁): 当前写操作在没有完成之前,它会阻断其他写锁和读锁. 根据数据操作 ...
- mysql数据库的存储过程不用学吗,MySql数据库之存储过程学习_MySQL
之前在工作中总是听别人提到存储过程,觉得是个很高深的东西,利用工作之余,看了下相关的知识,现将学习知识总结如下,希望可以为刚学习的人提供些许帮助. 开发环境:Navicat For Mysql. My ...
- MySQL数据库进阶系统学习6(MySQL高级-视图-事务-索引-账户管理-主从)
第六部分: MySQL高级 详细资料参考html文件17 9.1 视图 问题 对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变, 为了保证查询出来的数据与之前相 ...
- mysql数据库oem_Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 安装完毕来创建一个数据库,创建之前 必须先配置数据库的监听端口 ,否则会创建过程中提示你先配置监听. 1 .监听配置如下,一直下一步- Netca -- Listenerconfigur ...
最新文章
- mysql与oracle函数对比
- Qt编写OpenMP程序--循环测试
- C语言的头文件和库文件(函数库)
- java addfirst()_Java addFirst(),addLast() 在链表(LinkedList)的开头和结尾添加元素
- SurfaceTexture
- html文件如何放到服务器上_对网盘泄露说不,自己数据放到自己服务器上,用群辉搭建个人网盘...
- Julia与R/Python/MATLAB比较及Julia中的Text Analysis模块
- C# -- RSA加密与解密
- 如何把测试库的统计信息导入到生产库
- 解决applet覆盖遮罩层div的问题
- 浅析ASP.NET HTTP Module
- Flex中如何通过设置GridLines对象的horizontalAlternateFill样式交错显示LineSeries图表背景颜色的例子...
- Exchange 2007 474 问题解决方法
- 如何去管理Java项目
- python应用程序无法正常启动0xc000007b_应用程序无法正常启动0xc000007b怎么解决
- 还在用Word写论文?收下这个排版神器,轻松搞定所有公式!
- 09-kafka分区数的设置
- 在Linux环境下怎么编译Android源码?
- CF785C (1600)
- python学习 - 标准库概览
热门文章
- AudioTrack到AudioFlinger流程分析(三十八)
- Android OMX介绍(总括)
- Makefile 中$@ $^ $ 解释
- C++最小函数模板demo
- Mac OS X 10.8.3反编译Android apk
- python之集合操作 - |
- sdhc 读写 扇区 linux,SD卡读写扇区注意事项(转)
- 腾讯云主机安全防护(云镜)/usr/local/qcloud/YunJing/YDEyes/YDService 卸载
- ngnix学习(二)ngnix常用命令
- android中自适应布局教程,Android实现自适应正方形GridView