mysql应该怎么学习 mysql学习教程

北大青鸟java培训:零基础如何mysql学习?最近,有很多学员留言让我整理一下“零基础如何mysql学习?”.今天山西电脑培训就整理一下学习MySQL你需要掌握的知识点以及送给新手学习的建议,希望对大家能够有所帮助!给新手的学习建议:1.在学习新的东西的时候 , 我们至少从三个问题开始 。
What?why?how?2.学习需要坚持 , 如果还没准备好坚持半年比较枯燥的MySQL之旅,那么就别开始 。
3.学习东西不在多,在精,市面上有非常多的MySQL教程,不要瞎学,今天这里学一点 , 明天那里学一点 , 这样你学的都只是知识点,无法形成一个知识面,知识网络 。
4.在学习过程中充满好奇,使用google进行问题搜索,千万不要使用度娘了,质量不高 。
至于怎么用Google , 请自行搜索 。
5.学习的目的在于使用,因此 , 不要仅仅看书,看一遍,看两遍,你可能还是没什么感觉 。
因此学习一开始,就要动手练习 , 把资料上的情况,模拟一下 。
6.请不要在windows上安装mysql进行学习,因为工作中都是linux系统 。
我们需要从一开始就是实战 , 就是生产环境 。
7.保持好心态,一步一个脚印的前进 。
学习MySQL你需要掌握的知识点:1.系统,当然windos基本的要会 。
然后就是Linux系统,现在做MySQLDBA的系统多数都是Linux系统,而生产环境大多又是RedHat,Centos 。
其他的Linux和Unix系统可以只做了解 。
2.Linux基础,网络 , IO,内存,磁盘,CPU 。
包括不限于安装 , 启动过程,目录结构,远程登录,文件属性与管理,用户与用户权限,LAMP结构vim,yum等shell命令,dns , ftp,以及一些常用工具 。
3.MySQL基?。篗ySQL安装、MySQL体系结构,SQL , MySQL管理维护 。
4.数据备份与恢复,常用的引擎:MyISAM、Innodb、NDB等 。
5.数据库设计优化,一个好的MySQL系统,往往从设计开始 。
6.SQL优化 , 参数优化,监控,安全等 。
7.MySQL负载均衡,读写分离,MHA , MMM高可用架构,以及分布式架构:mycat、maxscale、galeracluster、MySQLGroupReplication等 。
8.mysql5.6,mysql5.7新特性 , mariadb、percona分支的差异和特点 。
9.MySQLJSON、MySQLmemcached 。
10.常见MySQL搭配的缓存系统,redis,memcached , 以及NOSQL、NEWSQL 。
以上 , 就是小编为大家整理的mysql学习你需要掌握的知识点以及送给新手学习的建议,希望能够帮助到大家!
该怎么学习MySQL数据库,从基础学起的哪种?如果mysql应该怎么学习你没有 MySQL 的基础mysql应该怎么学习,建议可以看看以下书籍mysql应该怎么学习:
《MySQL 必知必会》:主要讲 SQL 的写法
《深入浅出 MySQL》:比较全面的讲解mysql应该怎么学习了 MySQL 的基础知识,也涉及了一些优化 。
如果已经对 MySQL 比较熟悉了 , 可以看下面的书籍:
《高性能 MySQL》:里面讲了很多 MySQL 优化技巧 。
《MySQL 技术内幕》:讲解了很多 MySQL 原理,强力推荐给想深入学习 MySQL 的同学 。
《MySQL 内核:InnoDB 存储引擎》:想深入研究 MySQL 内核及原理的可以看看 。
《MySQL 运维内参》:对 MySQL 源码感兴趣,可以入手 。
《MySQL Internals Manual》
《MySQL 5.7 Reference Manual》
如何更好地学习Mysql数据库UPDATE worker_view4 SET name='hi';
ERROR............The target table worker_view4 of the UPDATE is not updatable.
(4)视图中的SELECT中包含子查询 。
CREATE VIEW worker_view5(name)
AS SELECT (SELECT name FROM worker);
UPDATE worker_view5 SET name = '刘佳';
该视图中包含了子查询 , 因此也是不能更新的 。
(5)由不可更新的视图导出的视图 。
CREATE VIEW worker_view6
AS SELECT * FROM worker_view5;
UPDATE worker_view6 SET name = '王仔';
因为worker_view6是不可更新的视图 , 所以worker_view6也不可以更新的视图 。使用UPDATE语句更新时,会出现系统报错 。
(6)创建视图时,ALGORITHM为TEMPTABLE类型 。
CREATE ALGORITHM=TEMPTABLE
VIEW worker_view7
AS SELECT * FROM worker;
UPDATE worker_view7 SET name = '王仔';
因为该视图ALGORITHM为TEMPTABLE类型,所以worker_view7不可以更新的视图 。TEMPTABLE类型就是临时表类型 。系统默认临时表是不能更新的 。
(7)视图对应的表上存在没有默认值的列,而且该列没有包含在视图里 。例如,表中包含的name字段没有默认值,但是视图中不包含该字段 。那么这个视图是不能更新的 。因为,在更新视图时,这个没有默认值的记录将没有值插入,也没有NULL值插入 。数据库系统是不会允许这样的情况出现的,数据库系统将会阻止这个视图更新 。
注意:视图中虽然可以更新数据,但是有很多的限制 。一般情况下 , 最好将视图作为查询数据的虚拟表,而不要通过视图来更新数据 。因为,使用视图更新数据时,如果没有全面考虑在视图中更新数据的限制,可能会造成数据更新失败 。
除了上述条件不能更新视图以外 , WITH[CASCADED|LOCAL]CHECK OPTION也将决定视图能否更新 。"LOCAL"参数表示更新视图时要满足该视图本身的定义的条件即可;
8.6 删除视图
删除视图是指删除数据库中已经存在的视图 。删除视图时 , 只能删除视图的定义 , 不会删除数据 。MYSQL中 , 使用DROP VIEW语句来删除视图,不会删除数据 。MySQL中,使用DROP VIEW语句来删除视图 。但是,用户必须拥有DROP权限 。
DROP VIEW[IF EXISTS] 视图名列表 [RESTRICT|CASCADE]
实例一:
SELECT Drop_priv
FROM mysql.user
WHERE user='root';
CREATE VIEW worker_view_del1
AS SELECT * FROM worker;
CREATE VIEW worker_view_del2
AS SELECT * FROM worker;
CREATE VIEW worker_view_del3
AS SELECT * FROM worker;
DROP VIEW IF EXISTS worker_view_del2, worker_view_del3;
8.7 本章实例
在test数据库中work_info表上进行视图操作 。
1. 在test数据库中work_info表
2. 插入记录
3. 创建视图info_view
4. 查看视图info_view的基本结构和详细结构
5. 查看视图info_view的所有记录
6. 修改视图info_view
7. 更新视图
8. 删除视图
work_info表的结构
字段名 字段描述 数据类型 主键 外键 非空 唯一 自增
id 编号 INT(10) 是 否 是 是 否
name 姓名 VARCHAR(20) 否 否 是 否 否
gender 姓别 VARCHAR(4) 否 否 是 否 否
age 年龄 INT(5) 否 否 否 否 否
address 家庭住址 VARCHAR(50) 否 否 否 否 否
tel 电话号码 VARCHAR(20) 否 否 否 否 否
work_info表中的内容
id name gender age address tel
1 张三 M 18 北市市海淀区 01-155151
2 李四 M 22 北京市昌平区 01-215151
3 王五 F 17 湖南省永州市 025-545845
4 赵六 F 25 辽宁省阜新市 0625-514545
(1) 创建work_info表
USE test;
CREATE TABLE IF NOT EXISTS work_info (
id INT(10) NOT NULL UNIQUE PRIMARY KEY,
name VARCHAR(20) NOT NULL,
gender VARCHAR(4) NOT NULL,
age INT(5),
address VARCHAR(50),
【mysql应该怎么学习 mysql学习教程】tel VARCHAR(20)
) DEFAULT CHARSET=utf8;
(2)向work_info表中插入几条记录 。
INSERT INTO work_info VALUES
(1, '张三', 'M', 18, '北市市海淀区','01-155151'),
(2,'李四', 'M', 22, '北京市昌平区', '01-215151'),
(3,'王五','F',17,'湖南省永州市','025-545845'),
(4,'赵六','F',25,'辽宁省阜新市','0625-514545');
(3) 创建视图info_view 。从work_info表中选出age20的记录来创建视图 。视图的字段包括id、name、gender和address 。ALGORITHM设置为MERGE类型 。加上WITH LOCAL CHECK OPTION条件 。
CREATE ALGORITHM=MERGE
VIEW info_view(id, name, gender, address)
AS SELECT id, name, gender, address
FROM work_info
WHERE age20
WITH LOCAL CHECK OPTION;
(4)查看视图info_view的基本结构和详细结构 。
SHOW CREATE VIEW info_view \G
(5)查看视图info_view的所有记录 。
SELECT * FROM info_view;
(6)修改视图info_view , 使其显示age20的信息,其他条件不变 。
ALTER ALGORITHM=MERGE
VIEW info_view(id, name, gender, address)
AS SELECT id, name, gender, address
FROM work_info
WHERE age20
WITH LOCAL CHECK OPTION;
(7)更新视图,将id为3的记录进行更新 。设置其gender为M 。
UPDATE info_view SET gender='M' WHERE id=3;
(8)删除视图 。
DROP VIEW info_view;
8.8 上机实践
题目要求:
(1)在数据库example下创建college表 。
(2)在college表上创建视图college_view 。视图的字段包括student_num、student_name、student_age和department 。ALGORITHM设置为UNDEFINED类型 。加上WITH LOCAL CHECK OPTION条件 。
(3)查看视图college_view的详细结构 。
(4)更新视图 。向视图中插入三条记录 。
(5)修改视图 , 使其显示专业为"计算机"的信息,其他条件不变 。
(6)删除视图college_view 。
college表的结构
字段名 字段描述 数据类型 主键 外键 非空 唯一 自增
number 学号 INT(10) 是 否 是 是 否
name 姓名 VARCHAR(20) 否 否 是 否 否
major 专业 VARCHAR(20) 否 否 是 否 否
age 年龄 INT(5) 否 否 否 否 否
college_view表的内容
student_num student_name student_age department
0901 张三 20 外语
0902 李四 22 计算机
0903 王五 19 计算机
USE example;
CREATE TABLE college(
number INT(10) NOT NULL UNIQUE PRIMARY KEY,
name VARCHAR(20) NOT NULL,
major VARCHAR(20) NOT NULL,
age TINYINT(3)
) DEFAULT CHARSET=utf8;
CREATE ALGORITHM=UNDEFINED
VIEW college_view(student_num, student_name, student_age, department)
AS SELECT number, name, age, major
FROM college
WITH LOCAL CHECK OPTION;
SHOW CREATE VIEW college_view \G
INSERT INTO college_view VALUES
(0901, '张三', 20, '外语'),
(0902, '李四', 22, '计算机'),
(0903, '王五', 19, '计算机');
CREATE OR REPLACE ALGORITHM=UNDEFINED
VIEW college_view(student_num, student_name, student_age, department)
AS SELECT number, name, age, major
FROM college
WHERE major='计算机'
WITH LOCAL CHECK OPTION;
怎么学习mysqlMYSQL最好结合着PHP来学,知识只有在应用中,才能灵活掌握 , 也能更好的理解 。不知道你以前是否有学过SQL类的知识,如果学过,学起MYSQL就很简单了 。如果没学过,我就建议你买本基础的SQL类的书籍边看边实践吧 。基本也就是建数据库、建表、SQL查询等等 。其实MYSQL很深的了,需要更深层次的学习才能掌握好 。
mysql应该怎么学习的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于mysql学习教程、mysql应该怎么学习的信息别忘了在本站进行查找喔 。

    推荐阅读