找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
关系型数据库:在数据库里面,表和表是可以发生关系,可以通过某些列的数据关联进行拼接查询,可以直接通过数据库的内置指令或者语句进行表和表的关联操作
非关系型数据库:在数据库里面,表和表是独立的,但是可以通过一些外部代码让表和表发生关系


1、数据存储方式不同。
关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。
与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。


2、扩展方式不同。
SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持日益增长的需求当然要扩展。
要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。
因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。而NoSQL数据库是横向扩展的。
而非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。


3、对事务性的支持不同。
如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。
虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。


(结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
NoSQL,泛指非关系型的数据库。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。)




启动mysql服务:service mysqld start
查看mysql服务状态:service mysqld status
重启mysql服务:service mysqld restart
停止mysql服务:service mysqld stop






安装好mysql后首次设置root用户的密码:
mysqladmin -uroot password '123456'    ========注意


设置密码后登陆MySQL的两种方法:
密码以密文方式:mysql -uroot -p  (加回车键,再输入密码)
密码以明文方式:mysql -uroot -p123456




数据类型
1,int 整型,只能保存4个字节的数据,保存的数字范围是-2^31~2^31-1  ±2147483647,超过这个值的数字需要保存要使用bigint型  (一字节=8bit)
2,bigint 大数字 保存的范围比int更大,可以保存8个字节的数据
3,float 浮点型,保存小数,4个字节
4,double 浮点型,保存小数,8个字节
5,varchar 可变长字符串,可变长度,最多可以占2^16字节,性能会差点,节约资源
6,char 字符串 保存固定长度的字符串,固定的占用255个字节,查询性能会好点,但是不节约资源
7,date 日期,固定的保存格式 YYYY-MM-DD


约束:
1,primary key 主键约束,不能重复,不能为空,用于唯一标识表中的每一条数据
2,auto_increment 自增长约束,可以自动的在对应列最大值+1插入数据,一般是结合主键去使用
3,not null 非空约束,必须填
4,default  默认值约束,可以定义默认值,当不输入时候自动填入默认值(DEFAULT 约束    用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。)


常见的中文字符在计算机里的编码格式有GBK的汉字占2个字节位,UTF-8的汉字占3个字节位




数据库的操作步骤:
1,进入mysql
2,show databases;==查看当前数据库工具有什么数据库
3,use +库名;==进入数据库
4,create database +新库名;==创建一个新的数据库;
5,create table +新表名(字段名1及类型及约束,字段名2及类型及约束);==创建一个新表,包含字段1和字段2
6,desc +表名 ;==查看表结构
7,show tables; ==》查看当前库有什么表
   *   select datebase(); ==》查看当前在哪个库操作
8,alter table test rename test1; ================================修改表test的表名更改为test1                                          
9,alter table test change id sid int(20);============================修改表test表 改变id字段,为sid字段,数据类型为int(20),并去掉自增长约束
10,alter table test change sid sid int(20) auto_increment;================修改表test表 改变sid字段,为sid字段,数据类型为int(20),增加自增长约束
11,alter table test add class int(10);==============================修改表test表 增加class字段,数据类型为int(10),增加字段默认放在表结构最后
12,alter table test add sex varchar(5) first;==========================修改表test表 增加 sex字段,数据类型为varchar(5),在表结构的第一位(first)
13,alter table test add age int(10) after sex;=========================修改表test表 增加age字段 ,数据类型为int(10),加在sex字段后面(after....)
14,alter table test drop sex;===================================修改表test表 删除 sex字段
15,alter table test drop age,drop class;============================修改表 test表 删除age字段,删除class字段(逗号分隔,前后须加drop)
16,alter table test add(class int(10),sex varchar(5));=====================修改表test表增加class字段,数据类型为int(10)和sex字段,数据类型为varchar(5),在add后面用括号()包含添加项,不同项之间逗号隔开
17,alter table test modify sex char(5) after name;======================修改表test表改变sex字段数据类型为char(5)且位置在name字段后面




*modify和change的区别:
它们都是可以修改表字段的定义,但是change需要写两次字段名,change可以修改字段名,modify不行
alter table test change sex sex char(5) after name;
alter table test modify sex char(5) after name;



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册