学习主题:MySQL
学习目标:
1 掌握什么是MySQL
2 掌握MySQL下对数据库的操作
1. MySQL简介
(1) 什么是MySQL数据库?
答:一个关系型数据库管理系统
(2) MySQL数据库的特点是什么?
- 开源
- 支持大型系统
- 使用标准的 SQL
- 可以运行于多个系统上,并且支持多种语言
- 存储数据量较大
- 可以定制的
2. MySQL的安装与卸载
(1) MySQL提供了哪些版本?
- MySQL Community Server 社区版本
- MySQL Enterprise Edition 企业版本
- MySQL Cluster 集群版
- MySQL Cluster CGE 高级集群版
(2) MySQL的卸载步骤是什么?
- 控制面板–>所有控制面板项–>程序和功能,将 mysql server 卸载掉
- 将 MySQL 安装目录下的 MySQL 文件夹删除( C:\Program Files (x86)\MySQL 或者C:\Program Files \MySQL)
- 运行“regedit”文件,打开注册表,删除如下文件夹:
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\eventlog\Application\MySQ L 文件夹
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\eventlog\Application\MySQ
- L 文件夹。
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\eventlog\Application\M
- ySQL 的文件夹。
- 如果没有相应的文件夹,就不用删除了
- 删除 C 盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用 360 粉碎掉即可。该 programData 文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData到地址栏回车即可进入。将整个 MySQL 文件夹删除掉
- 如果已经将 MySQL 卸载,但通过“开始–>所有应用–>Windows 管理工具–>服务”查看到 MySQL 服务仍然残留在系统服务里,可以在 CMD 里输入一条命令就可以将服务删除: sc delete mysql57 //这里的 mysql 是你要删除的服务名
- 重启系统安装 MySQL
3. MySQL客户端工具
(1) MySQL客户端工具有哪些?
答:MySQL 5.7 Command Line Client和MySQL 5.7 Command Line Client-Unicode
4. MySQL与Oracle的区别
(1) MySQL与Oracle有哪些区别?
- 实例方面
- MySQL 是轻量型数据库,开源免费。Oracle 是收费的而且价格非常高。
- MySQL 一个实例可以操作多个库,而 Oracle 一个实例只能对应一个库。
- MySQL 安装完后 300M 而 Oracle 有 3G 左右
- 操作方面
- 主键: MySQL 一般使用自动增长类型,而 Oracle 则需要使用序列对象。
- 单引号的处理: MySQL 里可以用双引号包起字符串,ORACLE 里只可以用单引号包起字符串。
- 分页的 SQL 语句: MYSQL 用 LIMIT,而 Oracle 需要使用内建视图和 rownum 伪列。
- 事务处理:MySQL 默认是自动提交,而 Oracle 默认不自动提交,需要用户 CTL 语言
5. 创建数据库
(1) 在MySQL中创建数据库语句的语法结构是什么?
create database database_name default character set character_set_name;
(2) 在MySQL中查看数据库的语句是什么?
show databases;
(3) 在MySQL中查看数据库编码的语句是什么?
select schema_name,default_character_set_name from information_schema.schemata where
schema_name = 'test';
(4) 删除数据库的语句是什么?
drop database database_name;
学习主题:MySQL
学习目标:
1 掌握MySQL对数据库的操作
6. 选择数据库
(1) 在MySQL中选择数据库的语句是什么?
use database_name;
7. MySQL数据类型
(1) 在MySQL中有哪些数据类型?
- int
- number(m,n)
- float(m,n)
- char
- varchar(n)
- blob
- clob
- …
(2) CHAR与VARCHAR有什么区别?
答:char:固定长度,最多255个字符;varchar:可变长度,最多65535个字符
(3) VARCHAR与TEXT有什么区别?
- varchar 可指定 n,text 不能指定,内部存储 varchar 是存入的实际字符数 +1 个字节(n<=255)或 2 个字节(n>255),text 是实际字符数 +2 个字节。
- text 类型不能有默认值。
- varchar 可直接创建索引,text 创建索引要指定前多少个字符。varchar 查询速度快于 text, 在都创建索引的情况下,text 的索引似乎不起作用
8. 创建表
(1) MySQL中创建表的语句语法格式是什么?
create table table_name(column datatype[,column datatype...]);
(2) 查看当前数据库中的表的语句是什么?
show tables;
9. 删除表
(1) 在MySQL中删除表的语句是什么?
drop table table_name;
10. 在MySQL中删除表的语句是什么?
(1) 在MySQL中删除表的语句是什么?
答:同上
(2) 在MySQL中删除表的语句是什么?
答:同上
(3) 在MySQL中向表中添加新列的语句是什么?
alter table table_name add column new_column_name datatype;
(4) 在MySQL中删除表中的列的语句是什么?
alter table table_name drop column column_name;
11. 创建表时指定约束
(1) MySQL中的约束类型有哪些?
- 非空约束(not null)
- 唯一性约
- 主键约束(primary key) P
- 外键约束(foreign key) FK
- 检查约束(目前 MySQL 不支持、Oracle 支持)
(2) 如何查询表中的约束信息?
show keys from table_name;
12. 修改表完成约束的添加与删除
(1) 为表添加主键约束的语句是什么?
alter table table_name add primary key(column_name);
(2) 删除主键约束的语句是什么?
alter table table_name drop primary key;
(3) 添加唯一约束的语句是什么?
alter table table_name add constraint constraint_name unique(column);
(4) 删除唯一约束的语句是什么?
alter table table_name drop key constraint_name;
(5) 添加外键约束的语句是什么?
alter table table_name add constraint constraint_name foreign key(column[s]) references
table_referenced(column_referenced);
(6) 删除外键约束的语句是什么?
alter table table_name drop foreign key constraint_name;
13. 向表中添加数据
(1) 在MySQL中向表中添加数据的语句是什么?
insert into table_name[(column[,column...])] values(values1[,values2...]);
(2) 向departments表中添加一条数据,部门名称为market,工作地点ID为1。
insert into departments values(0,'market',1);
14. MySQL的自动增长
(1) 在MySQL中对于自动增长类型有哪些要求?
- 一个表中只能有一个列为自动增长。
- 自动增长的列的类型必须是整数类型。
- 自动增长只能添加到具备主键约束与唯一性约束的列上。删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然 后在删除约束
(2) 创建一个emp2表。包含id该列为主键,包含name,包含seq_num要求该列为具备唯一性约束,该列的值自动增长。
create table emp2(id int primary key,name varchar(30),seq_num int unique auto_increment);