谭兄

导航

 

 

复习一下以前学过的数据库知识

 

在mysql配置文件my.ini中默认配置了数据库文件存放目录

datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

 

mysql库选项 :  只有字符集,校对集的概念.

在数据库目录下db.opt文件中

default-character-set=utf8
default-collation=utf8_general_ci

 

校对集,指的是,在某个字符集下,字符的排序关系应该是什么,称之为校对集 

典型的后缀:

_bin 二进制编码层面直接比较:

_ci 忽略大小写(大小写不敏感)比较

_cs 大小写敏感比较

我们一般选择忽略大小写的校对集.

 

数据库名:Windows不区分大小写,linux区分.

 

 

 

 

 

 数据库管理操作命令

 

查询语句  show databses

 

  

 

 

可以使用通配符(通用匹配符,可以匹配多个字符)

% 匹配任意字符的任意次数(包括0次)的组合!

_ 匹配任意字符的一次!

注意如需要匹配特定的通配符,则需要对通配符转义,使用反斜杠\完成转义

 

 

 

 修改语句

alter database 数据库名    只能修改数据库选项,即校对集和字符集

 

删除语句

drop database 名字

 

 

 

 表操作

 

建表语句

 

 

 修改表选项

 

alter table table_name [新选项]

 

 

 

增加字段

alter table table_name add column 字段定义 [字段位置]

 

 

 

修改已有字段(只能修改字段定义)

alter table table_name drop column column_name;

 

 

 

增加字段

alter table table_name modify column column_name 新的定义!

可以修改位置

 

 

 

 字段改名

alter table table_name change column 原字段名新字段名新字段定义!

注意,不是纯粹的改名,而是需要在修改定义的同时改名!

 

 

 

数据存储的编码

确定数据的存储编码是由以下的方案完成的:

1,  先看字段的编码!如果存在则确定完毕!

2,  如果字段没有设置编码,查看表的编码,如果有,则确定数据编码!

3,  如果表没有编码,查看库的编码,如果有,则确定数据编码!

4,  如果库也没有编码,则有服务器程序确定!

 

 

客户端操作,查询的编码

在客户端与服务器端交互时,存在两个重要的编码:

1. 客户端发送数据的编码

2. 客户端接收到服务器数据编码.

 

 

 set names gbk,就是一个快捷操作,将上面两个配置同时更改成目标编码.

 

 

 

列约束,字段属性

 

 

null,not null属性约束

mysql的NULL不是数据,也不是类型!只是标识属性!

用于说明某个字段,是否可以为null(是否可以什么都不存)

 

NULL采用关键NULL表示!(不是字符串)

是:NULL,而不是:‘NULL’

 

 

 

default 默认属性值约束

采用 default 关键字,来限定一个字段的默认值,在没有指定字段数据时,采用默认值

如果一个字段没有指定默认值,那么默认为NULL

 

 current_timestamp,用在第一个时间戳类型的字段上,表示当前的时间

典型在很多表上增加一个 update_time 将其默认值设置成 current_timestamp。就可以记录下当前记录的最后操作时间

 

 

主键约束/唯一约束

 

删除主键:

alter table表名 drop primary key;

 

 

添加主键

alter table 表名 add primary key(‘字段列表’);

 

 

删除唯一  

alter table 表名 drop index index_name

 查看索引名字    show create table 

 

 

 

增加唯一

alter table 表名 add unique key 索引名字 (字段列表)

 

 

 

自动增长  auto_increment

用于主键,只有一个字段主键,才能使用auto_increment!

可以,从1开始,逐一递增的数值!

目的是保证唯一,计算方面!

 

 

 unsigned,不是列属性,是类型的一部分(包括zerofill)因此位置上与类型在一起

 

 

comment 注释

 

 

外键约束

约束的作用,是用于保证数据的完整性或者合理性的工具!

外键:foreign key,当前表内,指向其他表的主键的字段,称之为外键!

 

虚拟表名 dual

只是为了语法更加规范, 没有实际意义.
例如 :   select 1 + 1 from dual;

 

with rollup

对group by 分组后的每个结果再进行一次统计

使用with  rollup 后

 

 

视图

只是一张select出来的虚拟表, 不保存真实数据.

 

mysqldump 备份

mysqldump -h127.0.0.1 -p3306 -uroot -p data > data.sql  将data数据库备份生成data.sql

 

在不使用on语法时,join、inner join、逗号、cross join结果相同,都是取2个表的笛卡尔积。逗号与其他操作符优先级不同,所以有可能产生语法错误,尽量减少用逗号

join、inner join、cross join支持on和using语法,逗号不支持on和using语法

 

posted on 2016-06-25 14:58  谭兄  阅读(123)  评论(0编辑  收藏  举报