数据库MySQL介绍:
1.数据库的基本概念
2.MySQL软件
3.配置MySQL
1.数据库的基本概念
(1)DataBase 简称DB 数据库
(2)什么是数据库?
用于存储和管理数据的仓库。
(3)数据库的特点:
1)持久化存储数据,其实数据库就是一个文件系统
2)方便存储和管理数据
3)使用了统一的方式来操作数据库 -- SQL
2.常见的数据库软件
Orcle 也是 JAVA语言的拥有者
DB2是IBM公司的
SQLite安卓系统开发
MySQL软件的安装和卸载
如何卸载:
去mysql的安装目录下找到my.ini文件
复制出 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
在控制面板里卸载mysql
之后还要删除C:/ProgramData/MySQL/MySQL Server 5.5/Data/里的数据
直接把C:/ProgramData/MySQL删除掉
这样我们就把MySQL数据库完全卸载干净了
3.MySQL服务
mysql的启动和关闭
cmd命令: service.nsc 打开服务窗口
net stop mysql 以管理员身份输入这个命令,停止mysql服务
net start mysql 启动mysql服务
启动Mysql cmd命令: mysql -uroot -p密码
如果Mysql没有启动,是连接不上的
mysql的登陆和退出
登陆: mysql -uroot -p密码
退出: exit
mysql -h(ip) -uroot -p(密码) 远程登陆别人的Mysql
mysql -hip -uroot -p(密码)
mysql --host=(ip) --user=root --password=(密码)
退出:quit / exit
mysql目录结构
(1)mysql安装目录
(2)mysql数据目录
bin 放二进制的一些exe命令
data 数据目录 日志文件数据文件
include C语言的头文件信息
lib Jar包
share 放错误信息
my.ini 是Mysql的配置文件
数据目录 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
MySQL服务器 硬件加软件 计算机IP和软件的端口号
数据库 文件夹
表就是 数据库文件夹里的frm结尾的文件
一个表里可以存放多条数据
4.SQL的语法
(1)SQL语句以单行或者多行书写,以分号结尾
(2)mysql 不区分大小写,但建议关键字使用大写
什么是SQL
Structured Query Language: 结构化查询语言
其实就是定义了操作所有关系型数据库的规则:每一种数据库操作的方式存在不一样的地方,称为 “方言”
SQL的分类:
1)DDL(Data Definition Language)数据定义语言
用来定义数据库对象,表,列等: create,drop,alter
2)DML(Data Manipulation Language)数据操作语言
用来对数据库表中的数据进行增删改: insert, delete, update
3)DQL(Data Query Language)数据查询语言
用来查询数据库中表的记录:select,where
4)DCL(Data Control Language)数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE等
1)DDL
(1)操作数据库:CRUD
C(Create):创建
创建数据库
create database (数据库名称);
或者创建数据库之前先判断此数据库是否存在:
create database if not exists (数据库名称);
例子:创建一个字符集为gbk的数据库
create database (数据库名称) character set (字符集名);
R(Retrieve):查询
查询所有数据库的名称:show databases;
不要动:存在风险
information 哪些表,哪些库的名称 视图
mysql 核心数据库 存了很多表文件
performance 对性能提升做一些操作的数据库,有很多表
查看某个数据库的字符集:查询某个数据库的创建语句
show create database 数据库名称;
随便玩:
test 测试的空数据库
U(Update):修改
修改数据库的字符集
alter database (数据库名称) character set (字符集名称)
D(Delete):删除
删除数据库
drop database (数据库名称)
drop database if exists (数据库名称)
查询当前正在使用的数据库名称
select database();
使用数据库
use (数据库名称);
(2)操作表
创建
create table (表名) {
列名1 数据类型1,
列名2 数据类型2,
...
列名n 数据类型n
};
注意:最后一列,不需要加逗号(,)
数据库类型:
1. int : 整数类型 age int,
2. double: 小数类型 score double(5,2), -- 这个小数总共有5位,小数点后面有2位
3. date: 日期,只包含年月日,yyyy-MM-dd
4. datetime: 日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss 年月日 时分秒
5. timestamp: 时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
如果将来不给这个字段赋值,或者赋值为null,则默认使用当前的系统时间,来自动赋值
6. varchar: 字符串
name varchar(20):姓名最大20个字符
zhangsan 8个字符 张三 2个字符
创建表
create table student(
id int,
name varchar(32),
age int,
score double(4,1)
birthday date,
insert_time timestamp
);
查询
查询某个数据库中所有的表名称
show tables;
查询表结构
desc (表名);
删除:
删除数据库:
drop database if exists (数据库名称);
删除表:
drop table if exists 表名;
修改
修改表名
alter table (表名)rename to (新的表名);
修改表的字符集
alter table (数据库名) character set (字符集);
添加一列
alter table (表名)add (列名) (数据类型);
修改列的名称和类型
alter table (表名) change (列名) (新列名) (新数据类型);
只修改数据类型:
alter table (表名) modify (列名) (新数据类型);
删除列
alter table 表名 drop 列名;
删除
drop table 表名;
drop table if exists 表名;
5. 图形化界面工具 SQLyog