之前一直都只会一些mysql简单的操作,对mysql的理解也不是很熟悉,找了很多mysql的基础书籍,也不是很理想,后来发现一本《mysql入门很简单》发现还不错,看了两遍,mysql基础的教程也不是很难,所以现在就总结一下。
我学习mysql的方法,把书先大概看一遍,了解一些基础的理论以及操作,然后第二遍,仔细去研究,因为第一遍已经会了基础的操作(因为之前有mysql的基础,所以看第一遍只用了两天的时间,不懂的就先放着了),第二遍,将所有的理论都理解了,所有涉及到的操作,sql语句等多操作几遍。如果有些知识还是不懂,可以先百度,谷歌,实在不懂,可以先放着。
关于mysql的安装,就不说了,百度很多。以下就是关于mysql的一些总结点,可能不是很全,因为有些知识点新手基本不会用到,希望大家看完了能够快速入门mysql。
一:mysql的数据类型
1.整数类型
tinyint | 默认长度是4 |
smallint | 默认长度是6 |
mediumint | 默认长度是9 |
int | 默认长度11,最常用的整数类型 |
integer | |
bigint | 默认长度20 |
长度是从小到大来排的,最大值就不写了.
2.浮点类型和定点类型
float | 浮点类型 |
double | 浮点类型 |
decimal(M,D) | 定点类型 |
float和doubel在插入的时候进行四舍五入会报错,而decimal会保存,而且decimal是以字符串形式保存的。
3.日期和时间类型
year | 年份 日期类型 | 1901~2155 |
date | 年月日 | 1000-01-01~9999-21-31 |
time | 时分秒 | -839:59:59~839:59:59 |
datetime | 年-月-日 时:分:秒 | |
timestamp | 年月日时分秒 | 1970010180001~20380119111407 |
在php+mysql开发中一般都保存时间戳格式,方便格式的转换。而且1998/01/01等格式在保存后也会自动转换成年-月-日 时:分:秒的格式
4.字符串类型
char | 固定长度 |
varchar | 可变长度,常用字符串类型,保存一些比较短的数据 |
tinytext | 文本类型,但是保存的长度比较短 |
text | 文本类型,保存文章内容等常用 |
mediumtext | 比text保存长度长的文本类型 |
longtext | 长文本类型 |
enum | 枚举类型,设置取值范围,如果设置了not null属性,则enum取值为第一个元素(多选一) |
set | 枚举类型,多个选项,可以选择多个 |
5.二进制类型
binary | |
varbinary | |
bit | |
tinyblob | |
blob | |
mediumblob |
以上就是关于mysql用到的数据类型介绍,其实最常用的就是tinyint,int,varchar,char,text,date,datetime这几个类型,其他类型可以在熟悉以后再详细了解
二:C和A,D的sql(创建和修改删除操作)
1.创建数据库
用法:create database 数据库名 //创建数据库
例子:create database example
2.创建表
用法:create table 表名(属性名 数据类型 约束条件)
约束条件有
primary key 主键
not null 不允许为空
unique 值唯一
auto_increment 自增
default 默认值 设置字段默认值
例子:
create table example1(
id int(7) primary key not null auto_increment));
表名是example1 只有一个字段id 类型是int,长度是7 主键 不可为空 自增。
3.表外键的设置
用法:constraint 外键别名 foreign key(属性1,属性2,属性n) references 表名 (属性1,属性2)
例子:
create table example2(
num int(7),
e_id int(7),
consttaint e1_e2 foreign key(e_id) example1(id));
4.修改类语句
alter table 旧表名 rename 新表名 //修改表名
alter table 表名 modify 属性名 数据类型 //修改字段的数据类型
alter table 表名 change 旧属性名 新属性名 新数据类型 //修改字段名和数据类型
alter table 表名 add 属性1 数据类型 【完整性约束】 【first| after 属性名2】 //添加字段
alter table 表名 drop 属性名 //删除字段
alter table 表名 modify 属性名1 数据类型 first|after 属性名2 //修改字段的显示位置
alter table 表名 engine=存储引擎名称 //修改表的存储引擎
alter table 表名 drop foreign key 外键别名 //删除表的外键
5.删除数据表
drop table 表名
6.删除数据库
drop database 数据库名