初识数据库
不同的数据库 sql语句不一样 总体大致差不多
数据存储的简短回顾
在内存中临时存储数据所需:
变量
数组:
长度不可变
类型太单一
对象:
对象数组: 近乎解决了数组类型太单一的问题
集合:解决了数组长度不可变
持久存储数据:
I/O:序列化和反序列化
XML:在小说阅读器中用它来存储数据 DOM4J来进行数据的操作
DOM4J即使进行了优化,但还是不能避免步骤繁琐的问题。 查询等也不是太高效。
**数据库:**数据的仓库,是专业存储数据的技术。
SQL:一种专业的用来对数据进行操作的语言。
SQL语句也是编程人员的一大重点。
1. 了解MySQL数据库
数据库:(Database)
**关系型数据库(RDBMS):**MySQL、Oracle、SQL Server、MariaDB、SQLlite…
安全、效率低、稳定、多个表数据之间有一定的关系。
**非关系型数据库(NoSQL):**Redis、MongoDB、Memcached…
不太安全、高效、数据之间没有联系。
MySQL 本来是瑞典的一家数据库公司的产品 -> Sun公司收购 -> Oracle公司收购。
MySQL是排行第二的[主流]关系型数据库产品! Oracle也推出了企业版和社区版(开源免费、我们使用的)。
2. 学会安装MySQL
root密码的设置:root
服务名的设置:MySQL、MySQL56
端口号的设置:3306
环境变量记得配置
打开DOS:输入mysql -u用户名 -p密码 即可登录连接上MySQL服务器。
如果是5.5的MySQL 内部就有4个数据库(系统数据库),除了test数据库其他的不能删除!
数据库管理系统(DBMS):(你安装的MySQL Server)
存数据:
**数据库(DB)**为数据库管理系统的基本单位
数据库中又将**数据库表(Table)**作为数据存储的基本单位
3. 学会使用数据库的可视化工具
MySQL 5.6提供了一个自带的工具,MySQL Workbench。
SQL Yog
Navicat
4. 了解常用的数据库命令
显示数据库服务器内的所有数据库:show databases;
切换数据库:use 数据库名;
查看该数据库下的所有表:show tables;
SQL(Structured Query Language):结构化查询语言 DDL DML DQL DCL
DDL语句:数据定义语言
创建数据库:create database 数据库名;
删除数据库:drop database 数据库名;
5. 熟悉创建数据库表的语句
创建表语句:
# 切换数据库
use myschool;
# 创建表
create table students(
# 存储学生的什么信息
stuNo INT COMMENT '学号',
stuName VARCHAR(25) COMMENT '姓名',
gender CHAR(3) COMMENT '性别',
score DOUBLE COMMENT '成绩'
);
6. 熟悉常见的数据 列属性、列类型
约束和属性
在字段定义时可以添加这些属性:
NOT NULL 表示不允许此字段的值为空!
DEFAULT ‘默认值内容’ 表示此字段默认情况的值内容!
UNIQUE KEY / UNIQUE 表示此字段是唯一值 不允许重复!
PRIMARY KEY 主键约束 设置了主键 则自动带有 非空、唯一约束。 可以唯一标识表内的某条记录,用于提升查询性能,一般都是在编号列设置。
AUTO_INCREMENT 自动增长 它只能用于主键列 可以自动递增编号
COMMENT 可以用来添加字段注释
UNSIGNED 无符号 表示只支持正数,没有负号
ZEROFILL 如果内容不足指定的长度,将会以0为填充补足长度 如果设置它则已经添加了UNSIGNED
数据类型
除了字符类型(必须设定长度),其他类型可以不设定长度 因为它们有默认长度。
数值类型:TINYINT INT BIGINT DOUBLE
字符类型:CHAR(定长字符、性能更好) VARCHAR(可变字符) TEXT(存储长文本)
时间类型:DATETIME TIMESTAMP