MySQL2

今日总结
一 :

字符串类型:使用的最多的类型,也是最重要的类型!

char:最大长度 255 char(m) m 字符串。
varchar:最大长度 65535 编码不同字符数不同:Gbk<=32767 Utf8<=21845.
char 和 varchar :在定义的时候,都需要指定字符串的长度!char(m),varchar(m).

char与varchar的比较 :1,varchar对存储空间的使用更加灵活。2,char的效率更高。3,如果存储的字符串的长度是已知固定的,就用char,如 果是可变的,就用varchar

enum :也叫做枚举类型,类似单选! 在定义enum类型的时候,需要把所有可能的选项都罗列出来!并且,用户再插入数据的时候,也只能插入单选项中的选项值。

set:集合类型,类似多选项!在插入的时候可以插入多个选项,并且插入选项都顺序可以和表中定义的顺序不一样。

Binary,varbinary,blod : 这三个都称为二进制文本类型,就是说,里面实际存储的就是二进制形式,也就是字节流。Binary,varbinary,blod 就是二进制流的char、varchar和text.

列属性:
null和not null :默认情况下,字段都允许为空,如果加上nnot null,意思就是这个字段不能为空,所以,not null 也叫做非空约束!
default: 自定义默认值属性,也叫做自定义默认值约束,通常就是配合not null一起使用!
parimary key:简称pk,也叫做主键属性或者主键约束!主要的键,主要的字段! 主键的概念 : 可以唯一标识某条记录的文段或者字段的组合(组合主键)!
设置主键有两种方式:1,在定义一个字段的时候直接在后面进行设置primary key.2,定义完自断后在定义主键。 注意:1,定义一个字段为主键后,该字段就不能重复!2,主键不能为null。3,组合主键的含义是两个或者多个字段组合在一起形成一个主键!而不是所有的字段都是主键,主键只能有一个!
unique key:也叫做唯一键属性或者唯一键约束!增加该属性后,该字段的值就不能重复! 另外unique key 可以简写成unique.
auto_increment:自增长属性或者自增长约束!作用是每次插入记录的时候,自动的为某个字段的值加1(基于上一个记录)。注意:使用这个属性有两个条件:1,该字段类型必须为整形 2,改字段上必须存在索引。
comment:专门为列做注释的,与其他的注释符不同之处在于,这里的注释内容属于列定义的一部分。

索引:
普通索引:key(字段名1,字段名2...)或index(字段名1,字段2...)
唯一索引:其实就是唯一键索引
主键索引:就是主键属性或者主键约束。
索引的缺点:1,索引在提高查找速度的同时,也降低了增删改的速度,因为内部索引需要从新排序!2,占用一定的磁盘空间名。

实体与实体的关系:
现实生活中,实体与实体之间坑定是有关系的,我们把这种关系总结为三种:
一对一:1:1。
一对多:1:n。
多对多:n:n。

外键:

关键字:foreign key 外键属性或者外键约束!外面(其他表)的主键!
作用:外键的意义就是用来约束关系内的实体! 外键约束主要体现在以下两个方面:
1,增加字表记录的时候,是否有与之对应的父表记录!
2,当删除或者更改父表记录的时候,从表应该如何处理相关的记录!

设置级联操作:

主表更新:语法:on update【级联操作】。
主表删除 语法:on delete【级联操作】。
这里的级联操作常见的有三种形式:
cascade:同步操作,串联操作!
set null:设置为null。
restrict:拒绝主表的更新或者删除。
删除外键的语法:
alter table 表名 drop foreign key 外键名。
增加外键的语法:
alter table 表名 add foreirn key 外键定义。

时间: 2024-07-29 01:35:59

MySQL2的相关文章

bundle install 出现 &amp;#39;gem install mysql2 -v &amp;#39;0.3.15&amp;#39; succeeds before bunding &amp;#39;

bundle install 出现  'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install libmysql-ruby '如果你找不到包尝试以下的包 參考:http://packages.ubuntu.com/search?keywords=mysql-ruby ruby-dataobjects-mysql libmysqldb-ruby ruby-dbd-mysql sudo apt-

bundle install 出现 &#39;gem install mysql2 -v &#39;0.3.15&#39; succeeds before bunding &#39;

bundle install 出现  'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install libmysql-ruby '若找不到这个包试试下面到包 参考:http://packages.ubuntu.com/search?keywords=mysql-ruby ruby-dataobjects-mysql libmysqldb-ruby ruby-dbd-mysql sudo apt-

Windows上成功安装Ruby-1.9.3 gem mysql2

之前可能需要从libmysql.dll生成libmysqlclient.a: 来源 cd C:\xampp-1.8.3\mysql\lib C:\DevKit-tdm-32-4.5.2-20111229-1559-sfx\devkitvars.bat pexports.exe libmysql.dll > libmysql.def //来源:C:\strawberry\c\bin\pexports.EXE 幸亏安装了perl,否则不知道到哪里找这个pexports工具下了 dlltool --i

Gem install Mysql2的问题

运行 'bundle install' 或者 'gem install mysql2′ 遇到如下错误 > gem install mysql2 ERROR: Error installing mysql2: The 'mysql2' native gem requires installed build tools. Please update your PATH to include build tools or download the DevKit from 'http://rubyins

windows rails new demo时候出错Make sure that `gem install mysql2 -v &#39;0.3.15&#39;` succeeds before bundling.

rails new demo --database=mysql最后报错Gem files will remain installed in D:/BillFiles/rails_dev/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.15 for inspection.Results logged to D:/BillFiles/rails_dev/Ruby193/lib/ruby/gems/1.9.1/extensions/x86-mingw32/1.9

ruby 安装 mysql2 client 和 嵌入式 使用时要注意的

最近各种被墙......gem源 先改成淘宝的 gem sources -a http://ruby.taobao.org/ gem sources -r http://rubygems.org/ 然后 sudo gem install mysql2 如果出现 ZLIB 错误. 是因为你电脑没ZLIB环境. 我是ubuntu 直接用apt安装. sudo apt-get install zlib1g-dev 然后.再次安装.mysql-dev sudo apt-get install libmy

关于 mysql2 -v &#39;0.3.21&#39;(CentOS7.3)

个人由于没有安装mysql而是装的MariaDB,所以网上说安装mysql,故没有采用,经查阅资料后,详细情况如下: Gem时报错: [[email protected] ~]# gem install mysql2 -v '0.3.21'Building native extensions. This could take a while...ERROR: Error installing mysql2: ERROR: Failed to build gem native extension.

`block in replace_gem&#39;: Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter`

在执行rails s时出现“`block in replace_gem': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter`”错误: [email protected]:/var/www/ashelf$ rails s => Booting WEBrick => Rails 3.2.22.1 application starting in development on http://0.0.

ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value:

今天碰到一个相当棘手的问题,那就是ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value . 本来在本地测试是没有任何问题的,但是一到服务器上就会出错,错误为:Mysql2::Error: Incorrect string value ,经过分析发现是中文的问题.按照理论来说以前都没有出现过这样的情况,为什么这次会出问题了呢?查看了一下,没有什么异样.于是在本地打了一个相同的环境,然后测试依旧没有问题.这个为难死

MySQL2种多实例部署方式总结

多实例在生产很常用,一方面节约了成本,一方面可以充分利用资源,提高数据处理速度(服务器性能够好),之前请教过贺磊dba一点MySQL多实例一些问题,部署安装比较简单,这里总结一下MySQL多实例部署的两种方式: 注意事项 单独管理 集中管理(mysqld_multi) 配置文件 使用不同的配置文件 共用一个配置文件 端口 不可冲突 不可冲突 basedir 可单独目录/可相同目录 可单独目录/可相同目录 datadir 不相同 不相同 pid文件 不可冲突/独立访问 不可冲突/独立访问 sock