MySQL

学习主题:MySQL
学习目标:
1 掌握什么是MySQL
2 掌握MySQL下对数据库的操作
3 掌握MySQL对数据库的操作

1.MySQL简介
(1)什么是MySQL数据库?
MySQL是一个关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

(2)MySQL数据库的特点是什么?
MySQL是开源的
MySQL支持大型数据库。可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
MySQL可以运行于多个系统上,并且支持多种语言。
MySQL存储数据量较大,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB
MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MySQL系统

2.MySQL的安装与卸载
(1)MySQL提供了哪些版本?
MySQL Community Server社区版本,开源免费,但不提供官方技术支持
MySQL Enterprise Edition 企业版本,需要付费,可以使用30天
MySQL Cluster集群版,开源免费。可将几个MySQL Server封装成一个Server
MySQL Cluster CGE高级集群版,需付费

(2)MySQL的卸载步骤是什么?
停止MySQL服务:开始–>所有应用–>Windows管理工具–>服务,将MySQL服务停止
卸载mysql Server:控制面板–>所有控制面板项–>程序和功能,将mysql server卸载掉
MySQL安装目录:将MySQL安装目录下的MySQL文件夹删除
删除注册表中的信息
删除MySQL数据库目录
删除服务中的MySQL
重启系统

3.MySQL客户端工具
(1)MySQL客户端工具有哪些?
MySQL自带的客户端工具:MySQL 5.5 Command Line Client
第三方客户端工具:Navicat

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默认不自动提交

5.创建数据库
(1)在MySQL中创建数据库语句的语法结构是什么?
CREATEDATABASE 数据库名 DEFAULTCHARACTERSET 字符编码;
Create database test default character set utf8;

(2)在MySQL中查看数据库的语句是什么?
Show databases;

(3)在MySQL中查看数据库编码的语句是什么?
Select schema_name,default_character_set_name from information_schema.schemata where schema_name =‘test’;

(4)删除数据库的语句是什么?
Drop database 数据库名称

6.选择数据库
(1)在MySQL中选择数据库的语句是什么?
Use 需要选择的库的名称。

7.MySQL数据类型
(1)在MySQL中有哪些数据类型?
数值类型:
在这里插入图片描述
浮点型:
在这里插入图片描述
字符串型:
在这里插入图片描述
(2)CHAR与VARCHAR有什么区别?
1)char(n) 若存入字符数小于 n,则以空格补于其后,查询之时再将空格去掉。所以 char 类型存储的字符串末尾不能有空格,varchar 不限于此。
2)char 类型的字符串检索速度要比 varchar 类型的快

(3)VARCHAR与TEXT有什么区别?
1)varchar 可指定 n, text 不能指定,内部存储 varchar 是存入的实际字符数 +1 个字 节(n<=255)或 2 个字节(n>255),text 是实际字符数 +2 个字节。
2)text 类型不能有默认值。
3)varchar 可直接创建索引,text 创建索引要指定前多少个字符。varchar 查询速度快 于 text, 在都创建索引的情况下,text 的索引似乎不起作用

8.创建表
(1)MySQL中创建表的语句语法格式是什么?
create table employees(empno int,ename char(20));

(2)查看当前数据库中的表的语句是什么?
show tables;

9.删除表
(1)在MySQL中删除表的语句是什么?
drop table employees;

10.在MySQL中删除表的语句是什么?
(1)在MySQL中修改表名的语句是什么?
alter table employees rename emp;

(2)在MySQL中修改列名语句是什么?
alter table emp change ename name varchar(20);
alter table emp modify name varchar(40);

(3)在MySQL中向表中添加新列的语句是什么?
alter table emp add column comm float(4,2);

(4)在MySQL中删除表中的列的语句是什么?
alter table emp drop comm;

11.创建表时指定约束
(1)MySQL中的约束类型有哪些?
• 非空约束(notnull)
• 唯一性约束(unique)
• 主键约束(primarykey) PK
• 外键约束(foreign key)FK
• 检查约束(目前 MySQL 不支持、Oracle 支持)

(2)如何查询表中的约束信息?
show keys from dept;

12.修改表完成约束的添加与删除
(1)为表添加主键约束的语句是什么?
添加主键:alter table emp add primary key(empno);
添加自动增长:alter table emp modify empno int auto_increment;

(2)删除主键约束的语句是什么?
删除自动增长: alter table emp modify empno int;
删除主键:alter table emp drop primary key;

(3)添加非空约束的语句是什么?
alter table emp modify ename varchar(20) not null;

(4)删除非空约束的语句是什么?
alter table emp modify ename varchar(20) null;

(5)添加唯一约束的语句是什么?
alter table emp add constraint emp_uk unique(ename);

(6)删除唯一约束的语句是什么?
alter table emp drop key emp_uk;

(7)添加外键约束的语句是什么?
alter table emp add constriant e_fk foreign key(deptno) references dept(deptno);

(8)删除外键约束的语句是什么?
删除外键: alter table emp drop foreign key e_fk;
删除索引:alter table emp drop index e_fk;

13.向表中添加数据
(1)在MySQL中向表中添加数据的语句是什么?
INSERTINTO 表名(列名 1,列名 2,列名 3…)VALUES(值 1,值 2,值 3…)

(2)向departments表中添加一条数据,部门名称为market,工作地点ID为1。
insert into departments(department_name,location_id)values(“market”,1);

14.MySQL的自动增长
(1)在MySQL中对于自动增长类型有哪些要求?
• 一个表中只能有一个列为自动增长。
• 自动增长的列的类型必须是整数类型。
• 自动增长只能添加到具备主键约束与唯一性约束的列上。
• 删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然 后在删除约束。

(2)创建一个emp2表。包含id该列为主键,包含name,包含seq_num要求该列为具备唯一性约束,该列的值自动增长。
create table emp2(id int,name varchar(20),seq_id int unique auto_increment);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值