前言
开始学数据库了······服务器就弄半天一直不成功,不是显示已存在另一个版本就是拒绝服务,出好多毛病,头疼。。。(解决方案在最后)
一、SQL简述
1.SQL概述
Structure Query Language(结构化查询语言)简称SQL,数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。
2.SQL语言的分类
- DDL(Data Definition Language)数据定义语言,用来操作数据库、表、列等;常用语句:CREATE、ALTER、DROP
- DML(Data Manipulation Language)数据操作语言,用来操作数据库中表里的数据;常用语句:INSERT,UPDATE,DELETE.
- DCL(Data Control Language)数据控制语言,用来操作访问权限和安全级别;常用语句:GRANT,DENY
- DQL(Data Query Language)数据查询语言,用来查询数据:SELECT
3.数据库三大范式
- 第一范式,是指数据库表的每一列都是不可分割的最小单元;也就是说:每列的值具有原子性,不可分割。
- 第二范式(必须先满足第一范式)表中所有的列都依赖于主键,就是说一个表只描述一件事,所有字段都必须与ID相关。
- 第三范式(必须先满足第二范式)表中每一列都置于主键直接相关而不是间接相关。
4.MySQL语法规范
1.不区分大小写,但建议关键字大小写,表名、列明小写
2.每条命令最好用分号结尾
3.每条命令根据需要,可以进行缩进或换行
4.注释
单行注释:#注释文字
单行注释:-- 注释文字(必须要有空格)
多行注释/注释文字/
二、数据库数据类型
有数值型、日期和时间型、字符串型。
1.整数类型(整型)
tinyint(很小的整数)、smallint(小整型)、mediumint(中等整型)、int和 bigint
每种类型对应的字节大小和取值如下表:
类型 | 说明 | 字节 | 无符号取值范围 | 有符号取值类型 |
---|---|---|---|---|
TINYINT | 很小的正数 | 1 | 0~255 | -128~127 |
SMALLINT | 小的整数 | 2 | 0~65535 | -32768~32768 |
MEDIUMINT | 中等整数 | 3 | 0~16777215 | -8388608~8388608 |
INT | 普通大小的整数 | 4 | 0~4294967295 | -2147483648~ 2147483648 |
BIGINT | 大整数 | 8 | 0~18446744073709551615 | -9223372036854775808~9223372036854775808 |
有符号类型有正数负数,无符号类型只有正数。有符号类型最大值缩水,因为同样是一字节八位时,有符号类型最高位表示符号,其他七位才表示数值,而无符号类型八位均表示数值。
2.浮点型小数类型和定点小数类型
浮点小数类型:float、double
类型 | 字节 | 有符号取值范围 | 无符号取值范围 |
---|---|---|---|
FLOAT | 4 | -3.402823466E+38~-1.175494351E-38 | 0和1.175494351E-38~3.402823466E+38 |
DOUBLE | 8 | -1.7976931348623157E+308~2.2250738585072014E-308 | 0和2.2250738585072014E-308~1.7976931348623157E+308 |
定点小数类型:decimal
类型 | 字节 | 取值范围 |
---|---|---|
DECIMAL(M,D) | M+2 | MD |
DECIMAL类型的取值范围是你定义M和D的时候确定的,M指的是这个数小数点左右最大一共多少位,