数据库简介
数据库简介
数据库
存储数据的仓库
数据库系统
DBS,由数据库、数据库管理系统、应用开发工具构成。
数据库管理系统
DataBase Management System(DBMS),用来定义数据、管理和维护数据的软件。它是数据库系统的一种重要的组成部分。
MySQL的安装与配置及登陆与退出
登陆/退出MySQL
修改MySQL命令提示符
MySQL常用命令
MySQL语句的规范
数据日志 \T 路径 文件名.txt
结束数据日志 \t
数据库操作(DDL)
创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET [=] charset_name]
- 数据库名称在一个目录名允许的任何字符,除斜线或点等特殊字符,也不要起中文,最大长度64
查看上一步操作产生的警告
SHOW WARNINGS;
查看当前服务器下的数据库列表
SHOW {DATABASES|SCHEMAS}
查看指定数据库的定义
SHOW CREATE {DATABASE|SCHEMA} db_name
修改指定数据库的编码方式
ALTER {DATABASE|SCHEMA} db_name [DEFAULT] CHARACTER SET [=] charset_name
打开指定数据库
USE db_name
得到当前打开的数据库名称
SELECT DATABASE()|SCHEMA();
删除指定数据库
DROP {DATABASE|SCHEMA} [IF EXISTS] db_name
数据表相关操作
什么是表?
创建表
CREATE TABLE [IF NOT EXISTS] tbl_name(
字段名称 字段类型 [完整性约束条件]
…
)ENGINE=引擎名称 CHARSET=‘编码方式’;
完整性约束条件
查看数据库中的数据表以及表结构
查看数据库下的数据表
SHOW TABLES
查看指定表的表结构
查看创建表的详细信息
SHOW CREATE TABLE tbl_name;
查询表中所有记录
SELECT * FROM tbl_name;
SELECT * FROM test1;
向表中插入记录
INSERT tbl_name VALUE|VALUES(值,…);
INSERT test1 VALUES(-128,-32768,-8388608,-2147483648,-9223372036854775808);
INSERT test1 VALUES(-129,-32768,-8388608,-2147483648,-9223372036854775808);
MySQL存储引擎
什么是存储引擎?
存储引擎就是指表的类型。数据库的存储类型决定了表在计算机中的存储方式。用户可以根据不同的存储方式、是否进行事务处理等来选择合适的存储引擎。
如何查看MySQL的存储引擎
MySQL常用存储引擎及特点
InnoDB存储引擎
支持事务
支持外键
修复能力 并发控制
读写效率低,占用数据空间大
MyISAM存储引擎
占用磁盘空间小,处理速度快
不支持事务
插入数据的速度快
MEMORY存储引擎
有利于对数据的快速处理
服务器需要足够内存
数据完整性易受影响
MySQL中的数据类型
整数类型
无符号
UNSIGNED
CREATE TABLE test2(
num1 TINYINT UNSIGNED,
num2 TINYINT
);
INSERT test2 VALUES(0,-12);
零填充ZEROFILL
CREATE TABLE test3(
num1 TINYINT ZEROFILL,
num2 SMALLINT ZEROFILL,
num3 MEDIUMINT ZEROFILL,
num4 INT ZEROFILL,
num5 BIGINT ZEROFILL
);
INSERT test3 VALUES(1,1,1,1,1);
INSERT test3 VALUES(123,1,1,1,1);
浮点类型
- 如果要表示小数只能用浮点数类型,整数类型不能表示小数
- 浮点类型DOUBLE精度比FLOAT类型高,如果需要精确到10位以上,就应该选择DOUBLE类型。
- DECIMAL 定点数精度高
- 对于精度要求较高的时候需要使用定点数存,因为定点数内部是以字符串形式存储的。
字符串类型
- CHAR定长字符串,占用空间大,速度快
- VARCHAR变长字符串,占用空间小,速度慢
- CHAR在保存的时候,后面会用空格填充到指定的长度,在检索的时候后面的空格会去掉
- VARCHAR在保存的时候,不进行填充。当值保存和检索时尾部的空格仍保留
- TEXT类型是一种特殊的字符串类型。只能保存字符数据,而且不能有默认值
- 它们3个存储和检索数据的方式都不一样,数据检索的效率CHAR>VARCHAR>TEXT
枚举类型
CREATE TABLE IF NOT EXISTS test7(
sex ENUM(‘男’,‘女’,'保密 ')
);
INSERT test7 VALUES('男 ');
INSERT test7 VALUES('女 ');
INSERT test7 VALUES(‘保密’);
INSERT test7 VALUES(2);
INSERT test7 VALUES(0);
INSERT test7 VALUES(NULL);
集合类型
CREATE TABLE IF NOT EXISTS test8(
fav SET(‘A’,‘B’,‘C’,‘D’)
);
INSERT test8 VALUES(‘A,C,D’);
INSERT test8 VALUES(‘D,B,A’);
INSERT test8 VALUES(3);
INSERT test8 VALUES(15);
日期时间类型
CREATE TABLE IF NOT EXISTS test9(
birth YEAR
);
INSERT test9 VALUES(1901);
INSERT test9 VALUES(2155);
CREATE TABLE IF NOT EXISTS test10(
test TIME
);
INSERT test10 VALUES(‘1 12:12:12’);
INSERT test10 VALUES(‘11:11’);
CREATE TABLE IF NOT EXISTS test11(
test DATE
);
INSERT test11 VALUES(‘12-6-7’);