码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL基础知识

时间:2016-06-25 16:19:16      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

 

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

 

在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,当前表内,指向其他表的主键的字段,称之为外键!

 

MYSQL基础知识

标签:

原文地址:http://www.cnblogs.com/tanxing/p/5616292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!