数据库的简介:
数据库的概念:方便数据的管理和储存
数据库系统:比数据库大很多,由数据库、数据库管理系统、应用开发构成
数据库管理系统:定义、管理、维护数据的软件
MySQL数据库:
选择mysql的原因:开放源代码、跨品台性、开源免费、功能强大
安装及新特性(Mysql 5.6):
1、安装:windows:二进制分发版(.msi)、官网下载安装包、免安装版
bin目录:存储可执行文件
data目录:存储数据文件
include目录:存储包含的头文件
lib目录:存储库文件
docs目录:文档
share目录:错误消息和字符集文件
my.ini目录:表示配置文件 客户端字符集 character-set-server=utf8
启动mysql服务
登录mysql:
-u:用户名
-p:密码
-h:服务器名称
-P:端口号
-D:打开指定数据库
-V:输出版本信息并且退出
mysql -uroot -p mysql --username --password
退出登录:exit quit \q ctrl+c
2、新特性(相比较5.5):提高性能、吞吐量、改进优化器、改进复制、提高灵活性、增强文字子查询、强化optimizer diagnostics、新增自我修复复制、高效能复制丛集、时间延迟复制
SQL简介:(重点)
定义:结构化查询语言,数据库管理系统通过SQL语言来管理数据库中的数据
语言的组成部分:定义数据库、定义语言、表、视图等 数据检索语句、数据控制语言
修改mysql命令提示符:
提示符:prompt
\D:完整日期
\d:当前数据库
\h:服务器名称
\u:当前的用户
Mysql语句的规范:
1、关键词与函数名全部大写
2、数据库名称、表名称、字段名称全部小写
3、语句必须以分隔符结尾
4、语句支持折行操作,只要不把单词、标记或是引号字符串分割为两部分们可以在下一行继续写
5、数据库名称、表名称、字段名称等尽量不要使用Mysql的保留字,如果需要使用的时候需要使用反引号将名称括起来
如何开启mysql输出日志:\T +文件夹路径
结束日志:\t
查看帮助信息:help ? \h INT
数据库的管理:
数据库的创建:CREAT {DATABASE | SCHEMA} [IF NOT EXISTS] db_name |[DEFAULT] CHARACTER SET [=] charset_name 数据库名称
查看警告:SHOW WARNING(查看上一步命令产生的警告)
查看当前服务器下的数据库列表:SHOW {DATABASES|SCHEMAS}
查看指定数据库的定义:SHOW CREATE{DATABASE|SCHEMA} db_name
修改指定数据库的编码方式:ALTER DATABASE +数据库名称 DEFAULT CHARACTER SET=..
打开指定数据库:USE + 数据库名称
得到打开的数据库名称:SELECT DATABASE()
删除指定数据库:DROP DATABASE + 数据库名称
数据表的相关操作:
数据表定义:
1、数据库最重要的组成之一
2、存储数据的数据结构
3、包含了特定实体类型结构
4、必须由表和列组成的二维网络
5、一定是先有表结构再有数据,至少有一列可以没有行或是多行
6、表名要求唯一且不包含特殊字符
创建数据表:
注释符号:#或是--
创建完之后查看数据库下的数据表查看是否创建成功
查看数据库下的数据表结构:
DESCRIBE + 表名
DESC + 表名
SHOW COLUMNS FROM + 表名
向表中插入数据记录INSERT +表名+ VALUE|VALUES(值,...)
完整性约束条件:
1、主键:PRIMARY KEY
2、自增长:AUTO_INCREMENT
3、外键:FOREIGN KEY
4、空键:NOT NULL
5、唯一:UNIQUE KEY
6、默认值:DEFAULT
数据类型:
整数类型:TINYINT、SNALLIN、MEDIUMINT、INT、BIGINT、BOOL
浮点类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT(存储文本字符)、MEDIMTEXT、LONGTEXT、ENUM(取决于枚举值的个数)、SET(集合类型中最多为64数)
ENUM的测试枚举类型:CREATE TABLE IF NOT EXISTS
测试集合类型:CREATE TABLE IF NOT EXISTS TEST8( fav SET())
日期时间类型:TIME、DATE、DATETIME、TIMESTAMP、YEAR
测试日期时间类型:CREATE TABLE IF NOT EXISTS test9( birth YEAR);
二进制类型:保存二进制数据、图片路径、视频路径
存储引擎相关的内容:
定义:指的是表的类型,数据库的存储类型决定了表在计算机中的存储方式,用户可以根据不同存储方式、是否进行事物处理等来选择适合的存储引擎。
查看存储引擎:SHOW ENGINES /SHOW VARIABLES LIKE 'have' /SHOW VARIABLES LIKE 'storage_engine'
MySQL常存储引擎及特点:
InnoDB存储引擎
MyISAM存储引擎
MEMORY存储引擎(使用较少)
如何选择合适的存储引擎?
默认使用的是InnoDB;插入记录和读取记录使用MyISAM;很快的读取速,安全性比较低选择MEMORY。