数据库练习表
⑴ 数据库应该怎么学习,零基础。
1、 自己在windows和linux上安装了mysql,自学linux的基础知识,学习mysql的最基础的知识,即怎么写sql,存储过程,表的设计等,从0到熟悉大概花了3个月 ,推荐《mysql入门很简单》。
2、系统地较为深入地学习mysql的sql优化,备份和恢复,参数优化,架构优化,硬件层面的优化,高可用方案,复制技术等等,这段时间你不一定能实际接触到这些,就像我当初那样,肯定没什么公司招一个小白。
我选择自己看书,推荐《高性能mysql》,里面所有的章节都需要看一遍,以现在的水平肯定看不懂,但需要知道大概怎么回事,为后续的找mysql初级dba的工作打一个铺垫,这个过程大概也需要3个月。
3、 纸上得来终觉浅,完成以上两步,我开始准备找一份mysql相关的工作,而不是天天用着excel表格做着select * from table_sb这样的工作。
当然我这么猥琐的人肯定不会裸辞,该画的电路板也一样画,业余时间开始投初级mysql dba的工作,并且不间断地学习,网上各种找mysql面试的相关题目(实际上我当时完全没有任何实战经验),陆续收到一些面试,凭借之前自学的mysql知识,开始胡乱吹牛逼,先混进去再说。
你不做mysql实际相关的工作,永远也不知道自己之前认知的db知识有多幼稚。
友情提示一点,一般公司都没有专职dba的,所以面试的时候一定要自信,其实你学了这么多,虽然毫无实战经验,理论知识很大概率比面试你的人牛逼,所以各种吹,我就这样真正进入初级dba的圈子(由于这时对linux还处于cd ls的水平,所以之前也根本没做过运维),这个边工作边找工作的过程又持续了2个月。
4、真正进入互联网,接触生产环境后,这是我进步最大的时候。
第一步需要将之前所学真正地应用起来,并且应用的过程中,再回头看之前的书籍,这时候需要真正去理解,而不是似是而非,一知半解。
这时再推荐《高性能mysql 第三版》,全本再看一遍,这时需要全部看懂,另外还有《mysql技术内幕:innodb存储引擎》等等。
总之这段时间就需要开始关注mysql一些细节了,比如db故障处理,高可用,负载均衡等等的具体实现了。
另外,linux的知识同步也要深入去学习,至少会写shell脚本,常见的linux知识等,我在这花了1年多;
5、 dba的工作一般是非常轻闲的,毕竟不是大公司,技术能力有限,该学的也学得差不多了,接触不到海量数据,高并发等比较锻炼人的场合,于是我又准备跳了。
于是来了公有云,现在每天运维万多个db实例,平均每天处理5+个紧急db故障,几乎mysql会遇到的问题,感觉都遇到了,能感觉到技术实力和经验也在每天都在积累,在进步。
但是感觉还是欠缺了很多,下一步就看你选择了,是再去研究源代码,底层原理的东西多点,还是数据库运维和应用多一点,就比如业界姜承尧,何登成与叶金荣的区别。
由于我的历史原因,对c++等几乎不懂,平时也用不到,所以看代码等事实际太累,于是我再去学mongodb,接了公司mongodb运维的活,算是在广度上的一个扩展,万一哪天mysql不行了呢
6、 总之,对于db小白来说,最重要的一点就是,学习的过程不能断。
PS 上面的方法比较野路子,适合没什么基础的童鞋,如果本来就是DBA,比如从oracle转到mysql,那么建议直接看mysql官方文档,而官方文档是db达到一定水平后必看,出问题时必查的权威文档。
⑵ 用SQL语句创建数据库表
图所示,打开了SQLServer2008,并创建好了数据库。然后看当前是否是在自己要创建表的数据库中。看图中圈住部分,知道自己当前在哪个数据库中
如图,选中好LX数据库,练习数据库。
或者在新建窗口中输入代码,USELX,然后选中后运行它,一样进入到LX数据库中。如图所示
之前有教过不用代码设计数据库的表,这里只讲用语句创建表。如图所示,创建表的代码格式如下。CREATETABLE表名(列名1类型,列名2类型,列名3类型,...--[添加约束])。
创建一个员工表的实际代码,如图所示,简单的员工表,有员工号、员工姓李虚名、员工所在部门构成。
接着,输入好代码后,设置一些主外键约束。经验连接有部门表的创建,部门表有(部门号、部门名),主键为部门号,部门号为一个部门的唯猛简一标识。员工表,员工号为员工的唯一标识,设置员工号为员工主键,而一个员工只能在一个部门内,一个部门可以有多枝扰裤名员工,因此,在员工表设置一个外键为部门号。用于查询索引,当我想知道一名员工所在部门时,即可通过外键索引查询出该员工所在的部门。备用1,备用2用作其他,例如某些公司部门下面设置分组,可用备用1做组别代号。18SQLServer如何创建表
如图所示,代码如下,创建外键约束时,一定要有一个可引用的外键表。部门表。部门表创建请看之前创建的部门表。当前列名跟外键约束的表列名数据类型必须一致。否则创建不成功CREATETABLETBL_EMPLOYEE(fld_EmployeeNovarchar(20),fld_EmployeeNamevarchar(20),fld_DepertNovarchar(10)NOTNULL,PRIMARYKEY(fld_EmployeeNo),FOREIGNKEY(fld_DepertNo)referencesTBL_DEPERT(fld_DepertNo))
⑶ 数据库练习题
创建一个选择查询,按系别统计各自男女学生的平均年龄
SELECT
系,
性别,
AVG(年龄) AS 平均年龄
FROM
表
GROUP BY
系,
性别
上面是用 SQL 的处理方法。
楼主要求 “最好不是SQL啊”, 不知道楼主 希望是用什么?
一步一步操作?
那要说明是什么数据库啊.
如果是 Access的话, 操作顺序是这样的:
1、创建一个查询
2、在《显示表》窗口里面,把那个表 选中,按 添加按钮。
3、关闭《显示表》窗口, 进入设计窗口。
4、在表中,双击 系, 性别, 年龄 这3列, 加到下面的列表中。
5、在下面列表的地方,鼠标右键,在弹出窗口,选择 “汇总”
6、修改 年龄下面的 Group By, 变成 “计算” 注意,不是“总计”。
7、运行查询。