目录
1. MySQL基本介绍
- Mysql数据库介绍
- SQL基本内涵
2. SQL语法与函数
- SQL语法基础
- SQL常用函数
- 表连接及子查询
3. SQL综合应用
课堂笔记
1. MySQL基本介绍
1.1 Mysql数据库介绍
-
数据库(database):存储数据的仓库,本质就是一个文件系统,将数据以特定格式存储,方便对数据的增删查改。
-
数据库类型:
- 关系型数据库:可以保存现实生活中的各种关系数据,数据库中存储数据以表为单位;主流关系型数据库:MySQL,Oracle,SQLServer等。
- 非关系型数据库:通常用来解决某些特定的需求,比如高并发访问。主流非关系型数据库:Redis,Mongodb,memacache等。
-
数据库优势:
- 持久化存储。
- 读写速度快。
- 保证数据的有效性。
- 对程序支持性好,易于扩展。
-
MySQL介绍
1.2 SQL基本内涵
-
结构化查询语言(SQL):是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL操作oracle,sql server,mysql等关系型数据库。
-
SQL语句分类
- DDL语句:数据定义语言,用于创建、修改和删除数据库对象,将对象保存到数据字典中。
- DML语句:数据操纵语句,用于添加、删除、更新、和查询数据库记录,并检查数据完整性。
- DCL语句:数据控制语句,用于控制不同数据段直接许可和访问级别的语句。
-
数据完整性:为保证数据的有效性,创建表时对各字段添加约束,以达到添加的数据满足约束规则的特性。
- 实体完整性:即规定每一张表都必须存在主键且不能重复,如
unique、primary key、identity
等约束。 - 域完整性:即数据库表中的列必须满足某种特定的数据类型或约束,如
check、foreign key、default、 not null
等约束。 - 参照完整性:即某张表的外键必须与另一张表的主键所对应。
- 用户自定义完整性:对于不同的关系型数据库,根据需要自定的约束。
- 实体完整性:即规定每一张表都必须存在主键且不能重复,如
-
常用数据类型:
-
数值类型
整数类型 有符号范围 无符号范围 TINYINT(size) -128~127 0~255 SMALLINT(size) -32768~32767 0~65535 MEDIUMINT(size) -8388608~8388607 0~16777215 INT(size) -2147483648~2147483647 0~4294967295 BIGINT(size) -9223372036854775808~9223372036854775807 0~18446744073709551615 小数类型 描述 FLOAT(size,d) 带有浮动小数点的小数字。size为最大总长度,d规定小数点右侧的最大位数。 DOUBLE(size,d) 带有浮动小数点的大数字。size为最大总长度,d规定小数点右侧的最大位数。 DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点,默认参数为(10,0)。(定点数类型) -
日期类型
数据类型 描述 DATE() 日期。格式:YYYY-MM-DD 注释:支持范围:从 ‘1000-01-01’ 到 ‘9999-12-31’ DATETIME() 日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS 支持范围:从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’ TIME() 时间。格式:HH:MM:SS 支持范围:从 ‘-838:59:59’ 到 ‘838:59:59’ YEAR() 2 位或 4 位格式的年。4 位格式:1901 到 2155。2 位格式:70 到 69,表示从 1970 到 2069 TIMESTAMP() 时间戳。格式:YYYY-MM-DD HH:MM:SS 支持范围:从 ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-09 03:14:07’ UTC -
字符串类型
字符串类型 字节大小 描述 CHAR(size) 0-255 不可变类型。char(3)输入’ab’,实际存储为’ab ‘,输入’abcd’,实际存储为’abc’。 VARCHAR(size) 0-65535 可变类型。varchar(3)输入’ab’,实际存储为’ab’,输入’abcd’,实际存储为’abc’。 -
枚举类型
- 枚举类型英文为ENUM,对1~255个成员的枚举需要1个字节存储;对于255~65535个成员,需要2个字节存储。最多允许65535个成员。创建方式:enum(“M”,“F”),不区分大小写。
-
-
实体与字段:
- 实体:数据库中表的每一行都是一个实体。
- 字段:数据库中表的每一列称为一个字段。
2. SQL语法与函数
2.1 MySQL语法基础
操作数据库
-
启动mysql服务
命令行 net start mysql
-
连接数据库
mysql -u username -p enter password: xxx
-
查看以经创建的数据库
show databases;
-
查看数据库版本
select version();
-
查看数据库状态
select host, user from mysql.user;
-
创建数据库
CREATE DATABASE dbname; CREATE DATABASE dbname charset=utf8;
-
创建用户
CREATE USER 'userName'@'%' IDENTIFIED BY 'password'; --远程连接 CREATE USER 'userName'@'localhost' IDENTIFIED BY 'password'; --本地连接
-
查看创建数据库的命令
show create