文章目录
- MySQL基础知识
- 基本概念
- 本地mysql服务启动与停止
- 客户端连接mysql
- 数据模型
- 关系型数据库
- 数据模型
- 数据类型
- SQL语句
- DDL
- 表操作
- 库操作
- DML
- DQL
- DCL
- 参考资料
- 作为笔记,后面会持续更新该方面

MySQL基础知识
基本概念
本地mysql服务启动与停止
这里的mysq对应的是windows下的服务名称,可能会有所出入
net start mysql
net stop mysql
也可以直接在服务中,点击选择开启与关闭
客户端连接mysql
windows可以直接使用cmd进行连接本地的mysql,(别忘了配置mysql的全局环境变量)
mysql [-h 127.0.0.1] [-p 3306] -u root -p
连接本地的时候直接使用
mysql -u 用户名 -p
然后输入你的密码即可
数据模型
关系型数据库
概念:建立在关系模型基础上,由多张项目连接的二维表组成的数据库
数据模型
数据类型
- 数值类型
- 字符串类型
- 日期类型
SQL语句
DDL
数据定义语言,用来定义数据库对象(数据库,表,字段)
表操作
- 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMIT 注释] [约束];
- 修改字段
ALTER TABLE 表名 MODIFY 字段名 新数据长度;
- 修改表名
示例:将 person表改为student表ALTER TABLE 表名 RENAME TO 新表名
alter table person rename to student;
- 删除表
示例:DROP TABLE [ IF EXISTS ] 表名;
drop table if exists teachers;
库操作
-
查询所有数据库
SHOW DATABASE;
-
查询当前数据库
SELECT DATABASE();
-
创建
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAUT CHARST 字符集 ] [ COLLATE 排序规则 ] ;
-
删除
DROP DATABASE[ IF EXISTS ] 数据库名;
-
使用
USE 数据库名;
-
查询当前数据库所有表
SHOW TABLES
-
查询表结构
DESC 表名
-
查询指定表的建表语句
SHOW CREATE TABLE 表名;
-
创建表
CREATE TABLE 表名 {字段1 类型 1[ COMMIT 字段1注释 ],字段2 类型 2[ COMMIT 字段2注释 ], }
示例:我们创建一个十分简单的教师表teacher
CREATE TABLE teacher ( id INT COMMENT '唯一编号', NAME VARCHAR ( 50 ) COMMENT '名字', gender VARCHAR ( 10 ) COMMENT '性别' );
-
删除表
drop table if exists teachers;
删除并重新创建表
truncate teachers;
DML
数据库操作语言,用来对数据库表中的数据进行增删改
- 表中插入数据
注意:键值位置要一一对应
也可以这样写,但是得与表中得顺序一一对应INSERT INTO student ( NAME, age, gender, address ) VALUES ( '测试', 22, '男', '数据库' );
也可以一次插入多个数据INSERT INTO student VALUES ( 18,'测试', 22, '男', '数据库' );
INSERT INTO student VALUES ( 19, '测试', 22, '男', '数据库' ), ( 20, '测试', 22, '男', '数据库' ), ( 21, '测试', 22, '男', '数据库' );
- 更新数据
UPDATE student SET NAME = 'uuuuuuu' WHERE gender = '男';
- 删除数据
DELETE FROMstudent WHEREaddress = '数据库';
DQL
数据查询语言,用来查询数据库中表的记录
-
基本查询
SELECT NAME FROMstudent;
别名
SELECT NAME AS'姓名' FROMstudent;
-
条件查询(WHERE)
-
聚合查询 (count、max、min、avg、sum)
NULL 值不参与计算
-
分组查询 (GROUP BY)
WHRER和HAVING的区别
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
判断条件不同:where不是对聚合函数进行判断,而having可以 -
排序查询 (ORDER BY)
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
排序方式
- ASC 升序
- DESC 降序
示例:获取年龄相同升序,同龄的按照入职时间降序排列
SELECT* FROMemp ORDER BYage ASC,entrydata ASC;
-
分页查询 (LIMIT)
SELECT * FROM 表名 LIMIT 页数,查询记录数;
DCL
数据控制语言,用来创建数据库用户,控制数据库的访问权限
- 创建用户(仅在本地)
任意IPCREATE USER 'itecast' @localhost IDENTIFIED BY '123456';
修改用户密码CREATE USER 'itecast' @'%' IDENTIFIED BY '123456'
参考资料
B站黑马视频