数据库总览
关系型数据库(SQL):MYSQL、Oracle、SQLserver、SQlite、DB2
非关系型数据库(NOSQL):Redis、MongoDB
数据库关系系统:DBMS(database manegement system)
数据管理软件,科学组织存储数据、高效的获取和维护数据
Myql简介
概念是现今流行的开源,免费的关系型数据库
特点:免费开源数据库、小巧功能齐全、使用便捷、可运用于windows或linux操作系统、可适用与中小型甚至大型网站应用
SQLyog:可手动操作、管理MySQL数据库的软件工具
数据库:长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”
结构化查询语句
DDL(数据定义语言):定义和管理数据对象如数据库数据表等
命令:CREATE DROP ALTER RENAME TRUNCATE
DML(数据操作语言)操作数据库中所含的数据
命令:INSERT UPDATE DELETE
DQL(数据查询语言):查询数据库语言
命令:SELECT
DCL(数据控制语言):管理数据库的语言,包括管理权限及数据更改
命令:GRATE COMMIT ROLLBACK
SQL编写规范
SQL语句里所以表名、字段名全部小写、系统保留字、内置函数名、sql保留字大写
连接符or in and 以及= <= >=等前后加上一个空格
对较为复杂的sql语句,过程、函数加上注释、说明算法功能
SQL语句的缩进风格
1.一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进
2.where子句书写时,每个条件占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐。
多表连接时,使用表的别名来引用列。
注意事项
SQL 命令是大小写不敏感
SQL 命令可写成一行或多行
一个关键字不能跨多行或缩写
子句通常位于独立行,以便编辑,并易读
SQL操作数据库
创建数据库
语法 CREATE DATEBASE 数据库名
删除数据库
语法 DROP DATEBASE 数据库名
查看数据库
语法 SHOW DATABASES 数据库名
使用数据库
语法 USE 数据库名
SQL创建数据表
创建数据表,属于DDL的一种
语法 CREATE TABLE 表名(
字段1 列类型 [ 属性 ] [ 索引 ] [注释] ,
字段2列类型 [ 属性 ] [ 索引 ] [注释] ,
字段3 列类型 [ 属性 ] [ 索引 ] [注释] ,
)[ 表类型 ] [ 表字符集 ] [注释] ;
列类型分类
tinyint 非常小的数据 取值范围:有符值-27~27-1 无符号值:0 ~ 28-1 1字节
smallint 较小的数据 取值范围:有符值-223~223-1 无符号值:0 ~ 216-1 2字节
mediumint 中等大小的数据 取值范围:有符值-223~223-1 无符号值:0 ~ 224-1 3字节
int 标准整数 取值范围:有符值-231~223-1 无符号值:0 ~ 232-1 4字节
bigint 较大的整数 取值范围:有符值-263~263-1 无符号值:0 ~ 264-1 8字节
float 单精度浮点数 取值范围:±1.1754351e -38 4字节
double 双精度浮点数 取值范围:±2.2250738585072014e -308 8字节
decimal 字符串形式的浮点数 取值范围: decimal(m, d) m个字节
字符串类型
char 固定长字符串,检索快但费空间 0 <= M <= 255 最大长度:M字符
varchar 可变字符串 0 <= M <= 65535 最大长度:变长度
tinytext 微型文本串 最大长度 28–1字节
text 文本串 最大长度216–1字节
日期和时间类型
数据字段属性
unsigned 无符号的 、 声明该数据列不允许负数
zerofill 数字0填充的、不足位数的用数字0填充,如:int(3),5则为 005
auto_increment 自动增长的,每添加一条数据,自动在上一个记录数上加1、通常用于设置主键,且为整数类型
NULL 和 NOT NULL 默认为NULL,即没有插入该列的数值 如果设置为NOT NULL,则该列必须有值
DEFAULT 默认的
用于设置默认值 例如,性别字段默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值
数据表列类型注释及表注释
SQL删除数据表
语法 DROP TABLE [ IF EXISTS ] 表名