mysql安装与卸载
-
安装mysql 参见mysql安装文档
-
卸载分成两步:
- 安装版:
- 找到my.ini datadir = C:/xxx 删除该目录下的文件
- 从控制面板中一键卸载 mysql服务开启状态
- 配置版:
- 使用管理员权限打开cmd指令窗口 输入 net stop mysql
- 在指令窗口中 输入 mysqld -remove
- 删除本地安装的mysql目录文件夹
- 安装版:
-
mysql配置
-
mysql服务启动
- 通过管理员打开cmd指令窗口 输入 net start mysql
- 找到window服务窗口 打开运行窗口 输入 services.msc ----> 找到mysql 手动启动
-
mysql登录
-
借助cmd指令窗口
-
mysql -u登录账号 -p 登录密码 没有密码直接回车就可以
-
mysql -h连接服务器的ip地址 -u登录账号 -p登录密码
mysql -hlocalhost/127.0.0.1 -uroot -proot;
如果通过ip连接不上,说明权限不够,给root账号开启连接mysql连接的权限
grant all privilegegs on *.* to root@'%' identified by '连接服务器的密码' with admin option/ with grant option 0. 使用mysql数据库 use mysql; 1. grant all privileges on *.* to root@'%' identified by 'root' with grant option; 2. flush privilegegs; 刷新mysql的系统权限 3. 退出 重新通过ip进入
-
-
借助于mysql可视化管理工具 Navicat
解压Navicat压缩包 简单破解下,点击连接选择mysql 在连接窗口中输入连接名、连接服务器ip地址 、登录的账号和密码—>test 如果连接成功,代码已经成功登录进来
-
-
mysql 退出
- quit
- exit
-
mysql目录结构
- mysql安装目录结构 basedir目录中
- bin: 二进制文件 mysql可执行的脚本 mysqld.exe
- data: 数据 mysql运行需要的数据文件还有mysql运行的日志文件
- include: C语言的头信息
- lib: mysql运行需要支持的一些类库 jar包文件
- share:mysql运行的一些错误信息
- my.ini mysql的配置信息
- mysql数据目录结构 datadir目录中
- 数据库: 一个个文件夹
- 表 : 就是一个个文件
- 数据 :一条条记录
- mysql安装目录结构 basedir目录中
-
- 数据库管理系统、数据库和表的关系
可以使用数据库管理系统创建多个数据库,比如java31/apartment数据库…,一般一个项目对应的是一个数据库,一个数据库可以创建多张表,一般在项目中,数据库中的表映射Model类 pojo、model、entry
比如数据库中创建一张用户表user 在后台服务器中一般对应的有一个model类 User.class
后台中的model类 一般用于临时存储从数据库中查询出来对应表中的数据, 如从user表查询出来一条记录,这条记录对应的就是后台服务器中的一个user对象(属性)
SQL 操作数据库
##### 概念:结构化查询语言 Structured Quary Language
##### 作用
1.DDL:操作数据库、表 数据定义语言 Data Definition Language
2.DML:增删改表中的记录 数据操作语言 Data Manipulation Language
3.DQL: 查询表中的记录 数据查询语言 Data Query language
4.DCL: 管理用户与授权 Data Control language 数据控制语言
DDL 语言
- 操作数据库
- 创建数据库 方式有很多种:
- create database 数据库名;
- create database if not exists 数据库名;// 创建的时候先判断数据库是否存在
- create database 数据库名 character set 编码字符集;// 创建数据库的指定编码字符集
- 创建数据库 方式有很多种:
-- 分号 一般是sql语句的结束标志
create DATABASE java31;
-- 创建数据库的第二种方式 create database if not exists 数据库名;
create database if not EXISTS apartment;
-- 创建数据库的第三种方式 create database 数据库名 character set 编码字符集;
create database school character set utf8;
-- 三者组合到一起表达
create database if not EXISTS college character set utf8;
-
查询 r —>retrieve
-
查询当前数据库服务器的所有的数据库
show databases;
-
查询某个数据库的编码字符集:查询某个创建的数据库的编码字符集
show create database 数据库名称;
-
-
修改 u—>update
-
修改数据库的编码字符集
alter database 数据库名称 character set 编码字符集;
-- alter database 数据库名称 character set 编码字符集;
alter database college character set gbk;
- 删除 d -->delete drop
-
删除数据库
drop database 数据库名称;
-
判断数据库是否存在,如果存在删除掉
drop database if exists 数据库名称;
-- drop database if exists 数据库名称;
drop database if EXISTS school;
-
操作表
-
创建表 C --> create
-
语法:
create table 表名(
列名1 数据类型,
列名2 数据类型,
。。。。。。。
);
-
数据类型
-
整数类型 tinyint(微整形) 8位 smallint(小整形)16位 mediumint(中整形)24位 int(integer) 整形32位
-
小数类型 double 8个字节 float 4个字节
-
日期类型 date (年月日) time (时分秒) datetime (年月日时分秒) timestamp 时间戳 年月日时分秒
时间戳,如果该字段为时间戳类型,没有赋值或者该字段值为null,则默认使用系统当前的时间自动赋值。一般情况一张表中只能有一个字段使用时间戳数据类型。
-
字符串类型 char(固定长度的字符串) varchar(可变长度的字符串) 使用几个字符就占几个
-
二进制类型 tinyblob(允许0~255个字节) big large blob(允许0~65535个字节) longblob(非常大)
-
文本类型 tinytext (允许长度为0~255个字节) text(允许0~65535个字节) longtext(非常大)
-
-
-
查看表 查询 retrieve
-
show tables 查看当前使用的数据库下面的所有的表
-
desc 表名; 描述该表的结构
-
查看创建的表 show create table 表名;---->查看该表创建使用到的sql语句
-
快速创建一个表结构相同的表 create table 新表名 like 旧表名;
-
-
修改 update
-
修改表名 alter
alter table 旧表名 rename to 新表名;
-
修改表的字符集
alter table 表名 character set 编码字符集;
-
添加一列字段 add
alter table 表名 add 列名 数据类型;
-
删除一列 drop
alter table 表名 drop 列名;
-
修改列名 数据类型
- change alter table 表名 change 旧列名 新列名 新数据类型;
- modify alter table 表名 modify 列名 新数据类型;
-
-
删除 delete
- 删除表 drop table 表名;
- 删除判断表是否存在 drop table if exists 表名;
大多数情况下我们是直接借助于图形化管理工具 Navicat直接操作。
-
DML 增删改数据库中的表的数据
-
添加数据:
-
语法:
-
insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);
-
注意事项:
-
列名和后面值的类型要保持一致。
-
如果表名后面没有指定列名,默认为给该表中的所有的列添加对应的值。注意依然是有顺序的。
insert into 表名 values(值1,值2,…值n);
-
除了数字类型外(int,double),其他类型一律要使用引号(单引号和双引号都可以)引起来。
-
-
-
-
删除数据:
-
语法: delete
delete from 表名 [where 条件];
-
注意事项:
- 如果后面不跟条件 ,则删除整张表的数据
- 删除表的所有的记录 delete from student / truncate table 表名;(底层是先把表删除掉,然后再创建一张一模一样的表)
- 如果条件中的字段值有重复的,凡是符合条件的都删除。
-
-
修改数据:update
-
语法:
update 表名 set 列名1 = 替换值1, 列名2 =替换值2,…列名n = 替换值n [where 条件];
-
注意:
- 如果不带条件,则会修改表中的所有记录
-
DQL 查询表中的记录 select … from …
-
语法
select 需要查询的信息(列名1,列名2,…列名n) / * from 表名 [where 条件];
完善下:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
limit
分页限定
-
去重查询 distinct
-
ifnull表达式 ifnull(表达式1,表达式2)
表达式1: 代表那个字段需要判断是否为null
表达式2:如果该字段值为null 后面的进行替换
-
起别名操作
语法 as 也可以省略不写
表名 as 新的名字 查询出来的字段信息 as 新名字
当你查询同一张表,并且进行多次查询的时候可以使用起别名来实现
注意:
起别名 只是在sql语句中方便查询使用的,并不会对数据原来的文件起到任何影响