一、数据库
1、数据库介绍
数据库:它本身是一个软件,由数据库厂商提供。主要存储和管理数据。
- mysql:Oracle公司提供,分为商业版和社区版。端口:3306
- Oracle:Oracle公司提供,收费版。政府,银行等传统企业单位。
- SQLServe:微软提供,收费。
- DB2:IBM公司提供,收费。
2、mysql安装和卸载
3、超管密码修改
登录安装Mysql的操作系统。
- 停止mysql服务器 :管理员身份打开cmd,运行net stop mysql
- 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)
- 新打开cmd 输入mysql -u root -p 不需要密码
use mysql;
update user set password=password(‘abc’) WHERE User=‘root’; - 关闭两个cmd窗口 在任务管理器结束mysqld 进程
- 在服务管理页面 重启mysql 服务。
4、数据库的学习
- 学习库中的C(create)R(read)U(update)D(delete)
- 学习库中的表CRUD
- 学习表中的数据的CRUD
二、数据库的操作
1、SQL语句
SQL:结构化的查询语句。由W3C组织制定,标准的数据库的操作语言,不区分数据库。
SQL语句的分类:
- DML:数据操纵语言,主要针对的是insert、update、delete操作。
- DCL:数据控制语言,主要针对的是用户、表和库的权限,事务控制等。
- DQL:数据查询语言,主要针对的是select语句。
- DDL:数据定义语言,主要针对的是库和表的CRUD语句。
2、数据库操作
2.1、查询数据库
-- 查询所有数据库
SHOW DATABASES;
-- 查询某个数据库的编码
SHOW CREATE DATABASE test;
2.2、创建数据库
-- 创建库
CREATE DATABASE demo1;
-- 创建数据库的时候指定编码表
-- GB2312(国标码)、GBK、GB18030、UTF-8(全球所有国家一些常用的符号)、ISO-8859-1(欧洲拉丁文)
CREATE DATABASE demo2 CHARACTER SET gbk;
-- 修改库的校对规则
CREATE DATABASE demo3 CHARACTER SET utf8 COLLATE utf8_bin;
2.3、删除数据库
-- 删除数据库
DROP DATABASE demo1;
2.4、修改数据库
-- 修改数据库编码表
ALTER DATABASE demo1 CHARACTER SET gbk;
在mysql的安装目录下有my.ini文件,是mysql的核心配置文件。
三、数据表的操作
在操作数据表之前,一定要记住:切换到某个库下。
-- 切换数据库
USE 库名;
1、创建数据表
-- 创建表
CREATE TABLE tb_user(
id INT,
username VARCHAR(10),
age INT
);
创建表的时候,表的每个列名和表名不要和SQL中的关键字重名。
定义数据表中的每列都必须明确具体的数据类型。
数字:TINYINT、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
字符串:char(长度)、varchar(长度)
char(10):数据库表的列最多只能存放10字符数据,如果不足10个,使用空格补够10个,超过则报错。
varchar(10):数据库表的列最多只能存放10字符数据,如果不足10个,长度会发生变化,超过则报错。
日期:
date(只有日期)
time(只有时间)
datetime(日期时间都有)
timestamp(日期时间都有):时间戳,执行操作的更新时间
文件数据类型:
blob(存放大二进制数据)
text(存放大的文本文件)
tinyblob tinytext 255字节
blob text 64KB
mediumblob mediumtext 16MB
longblob longtext 4GB
实际开发中,文件不会在数据库中存储。采用专业的文件管理服务器上存储,然后将文件在服务器上的存储位置存放在数据库中。
2、表约束
-
主键约束:primary key,它是保证当前这一行数据与其他行不重复。主键列的数据不能重复,也不能存放null。
-
非空约束:not null,这个列中不能包含null,必须有值。
-
唯一约束:unique,这列数据不能重复。
一个表中的主键一般只有一列或两列(联合主键),主键会自动添加索引(主键索引)。(用来区别行的数据)
一个表中的唯一约束可以添加在多列上。(比如人的指纹,身份证号这些都是唯一的)