目录
数据库简介:
数据库(database):存储数据的仓库。
数据库系统(DBS):比数据库大很多,由数据库、数据库管理系统、应用开发工具构成。
MySQL数据库:
优点:
是开放源代码的数据库
MySQL的跨平台性
开源免费
功能强大且方便
SQL:
SQL:结构化查询语言
DDL:数据定义语言
DML:数据操纵语言
DQL:数据检索语句
DCL:数据控制语言
SQL语句规范:
MySQL登录:
mysql -uroot -p:登录MySQL
退出mysql:(exit)/(quit)/(\q)/(强制退出:ctrl+c)
设置编码方式:character-set-server=utf8
查看编码方式:status
修改命令提示符:
A.登录时进行改变:
-uroot -p --prompt=(提示符字符)
B.登录后加上prompt修改提示符:
命令提示符常用参数:\D:完整的日期 \d:当前数据库\h:服务器名称\u:当前用户名
常用命令:
SELECT VERSION;查看当前版本
SELECT NOW();查看时间
SELECT USER();显示当前用户
语句规范:
关键字与函数名称全部大写
数据库名称、表名称、字段名称等全部小写
SQL语句必须以分隔符结尾
SQL语句支持折行操作,只要不把单词、标记或引号字符串分割为两部分,可以在下一行继续写
数据库名称、表名称、字段名称等尽量 不要使用MySQL的保留字,如果需要使用的时候需要使用反引号(``)将名称括起来
修改命令分割符:DELIMITER+(符号)
创建输出日志:\T+日志存储目录;
数据库相关操作:
DDL:
创建数据库:
CREATE {DATABASE|SCHEMA}[IF NOT EXISTS]db_name[[DEFAULT]CHARACTER SET[=]charset_name];
查看当前服务器下的数据库列表:
SHOW{DATABASES|SCHEMAS};
查看指定数据库的定义:
SHOW CREATE{DATABASE|SCHEMA}db_name;
SHOW WARNINGS:展示警告
SELECT DATABASE|SCHEMA():得到当前打开的数据库
删除指定数据库:
DROP{DATABASE|SCHEMA}[IF EXISTS]db_name;
打开指定数据库:
USE db_name;
修改指定数据库的编码方式:
ALTER {DATABASE|SCHEMA} db_name [DEFAULT] CHARACTER SET [=]charset_name;
MySQL中支持的数据类型简介:
数据表是数据库中最重要的组成部分之一
数据表是存储数据的数据结构
数据表是包含了特定实体类型的数据
数据表由行和列构成的二维网络
数据表一定先有表结构,再有数据
数据表至少有一列,可以没有行或者多行
数据表名称要唯一,而且不包含特殊字符
创建数据表:
CREATE TABLE[IF NOT EXISTS]tbl_name(字段名称 字段类型【完整性约束条件】)ENGINE=引擎名称 CHARSET='编码方式';
MySQL中的存储引擎:
存储引擎:
存储引擎就是指表的类型。
MySQL的存储引擎:
展示MySQL的存储引擎:SHOW ENGINES;
展示支持存储引擎详细信息:SHOW VARIABLES LIKE'have%';
展示默认存储引擎:SHOW VARIABLES LIKE'storage_engine';
MySQL常用存储引擎:
InnoDB存储引擎:支持实物、处理支持外键
MyISAM存储引擎:插入读取快
MEMORY存储引擎:处理速度快,安全性不高
MySQL数据表的创建:
创建数据表:
CREATE TABLE[IF NOT EXISTS]tbl_name(字段名称 字段类型【完整性约束条件】)ENGINE=引擎名称 CHARSET='编码方式';
查看数据库中的数据表及表结构:
查看数据库下数据表 SHOW TABLES
查看指定表的表结构:
A.DESC tbl_name
B.DESCRIBE tbl_name
C.SHOW COLUMNS FROM tbl_name
向表中插入记录
INSERT tbl_name VALUE|VALUS(值,...);
测试数据类型:
FLOAT和DOUBLE类型会四舍五入
DECIMAL最精准,内部是以字符串形式存储,精度较高
查看表数据:
SELECT*FROM tbl_name
查询数据
SELECT*FROM tbl_name WHERE 属性名=数据;
测试字符串类型:
CHAR定长字符串,占用空间大,速度快
VARCHAR变长字符串,占用空间小,速度慢
存储检索方式不同,检索效率:CHAR>VARCHAR>TEXT
查询长度:
得到占用字符数:SELECT LENGTH('str');
得到字符数:SELECT CHAR_LENGTH('str');
枚举类型与集合类型:
ENUM 插入字符可以为NULL值
SET最多可以保存64个成员 插入数据时也可用数字,第一个代表1,第二个为2...则举例包含第一第二就输入3
MySQL保存的是序号
测试日期时间类型:
YEAR:
INSERT tbl_name VALUES();
可输入具体年份也可输入数字
输入数字在0-69则是2000加数字,输入数字超过70则为1900加数字
TIME:
如:
INSERT test15 VALUES('1 12:12:12');
得到的是36:12:12 第一个代表小时,第二个分,第三个秒
DATE:
如:
INSERT test15 VALUES('12-06-07');
完整性约束条件:
完整性约束条件:
PRIMARY KEY主键
AUTO_INCREMENT自增长
FOREIGN KEY 外键
NOT NULL 非空
UNIQUE KEY 唯一
DEFAULT 默认
测试主键:
查看创建表的定义
SHOW CREATE TABLE tbl_name;
设置主键
也可创建复合主键