发布MYSQL利用指南(下)
能够以较低的成本向客户提供IT所有权,当节约成本成为客户最高优先级时,解决方案提供商可以向更多的客户同时提供服务。虽然有许多来自RDBMS固有的局限性。在上篇咱们讲了登录、增添用户、暗码更改等成绩。下篇咱们来看看MySQL中有关数据库方面的操作。注重:你必需起首登录到MYSQL中,以下操作都是在MYSQL的提醒符下停止的,并且每一个号令以分号停止。1、操作技能
1、假如你打号令时,回车后发明健忘加分号,你不必重打一遍号令,只需打个分号回车就能够了。也就是说你可以把一个完全的号令分红几行来打,完后用分号作停止标记就OK。
2、你可使用光标高低键调出之前的号令。但之前我用过的一个MYSQL旧版本不撑持。我如今用的是mysql-3.23.27-beta-win。
2、显示号令
1、显示数据库列表。
show databases;
刚入手下手时才两个数据库:mysql和test。mysql库很主要它外面有MYSQL的体系信息,咱们改暗码和新增用户,实践上就是用这个库停止操作。
2、显示库中的数据表:
use mysql; //翻开库,学过FOXBASE的必定不会生疏吧
show tables;
3、显示数据表的布局:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database库名;
drop table表名;
7、将表中纪录清空:
delete from 表名;
8、显示表中的纪录:
select * from 表名;
3、一个建库和建表和拔出数据的实例
drop database if exists school; //假如存在SCHOOL则删除
create database school; //创立库SCHOOL
use school; //翻开库SCHOOL
create table teacher //创立表TEACHER
(
id int(3) auto_increment not null PRimary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表停止
//以下为拔出字段
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
注:在建表中
(1)将ID设为长度为3的数字字段:int(3)并让它每一个纪录主动加一:auto_increment其实不能为空:not null并且让他成为主字段primary key
(2)将NAME设为长度为10的字符字段
(3)将ADDRESS设为长度50的字符字段,并且缺省值为深圳。varchar和char有甚么区分呢,只要等今后的文章再说了。 (4)将YEAR设为日期字段。
假如你在mysql提醒符键入下面的号令也能够,但不便利调试。你可以将以上号令原样写入一个文本文件中假定为school.sql,然后复制到c:下,并在DOS形态进入目次mysqlbin,然后键入以下号令:
mysql -uroot -p暗码 < c:school.sql
假如胜利,空出一行无任何显示;若有毛病,会有提醒。(以上号令已调试,你只需将//的正文去失落便可利用)。
4、将文本数据转到数据库中
1、文本数据应合适的格局:字段数据之间用tab键离隔,null值用n来取代.
例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、数据传入号令 load data local infile "文件名" into table 表名;
注重:你最好将文件复制到mysqlbin目次下,而且要先用use号令打表地点的库。
5、备份数据库:(号令在DOS的mysqlbin目次下履行)
mysqldump --opt school>school.bbb
正文:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,翻开看看你会有新发明。
跋文:其实MYSQL的对数据库的操作与其它的SQL类数据库迥然不同,您最好找本将SQL的书看看。我在这里只引见一些根基的,其实我也就只懂这些了,呵呵。最好的MYSQL教程仍是“晏子“译的“MYSQL中文参考手册“不但收费每一个相干网站都有下载,并且它是最威望的。惋惜不是象"php4中文手册"那样是chm的格局,在查找函数号令的时分不太便利。
【本文版权归作者与奥索网配合具有,如需转载,请注明作者及出处】
DBaaS和其他云服务之间的区别是:DBaaS专注于提供类似关系数据库管理系统RDBMS(比如SQL Server、MySQL和Oracle)的数据库功能。事实上,RDBMS已被证明是一种适合于在各种情况下管理结构化数据的有效工具。 不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关 varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。 一个是把SQL语句写到客户端,可以使用DataSet进行加工; 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? 多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。 语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的! 每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。 如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。 而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西 sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西 可以动态传入参数,省却了动态SQL的拼写。 入门没那么困难,精通没那么容易 每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。 发几份SQL课件,以飨阅者 其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。 对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
页:
[1]