Mysql快速上手(基础知识、数据模型、数据类型、SQL语句、函数、约束、多表查询、事务)


在这里插入图片描述

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 注释] [约束],
    	ADD 字段名 类型(长度)[COMMIT 注释] [约束],
    	ADD 字段名 类型(长度)[COMMIT 注释] [约束],
    

    示例

    ALTER TABLE example_table
    ADD COLUMN category VARCHAR ( 200 ) COMMENT "分类",
    ADD COLUMN domains TEXT COMMENT "可用域";
    
  • 修改字段

    ALTER TABLE 表名 MODIFY 字段名 新数据长度;
    
  • 修改表名

    ALTER TABLE 表名 RENAME TO 新表名
    

    示例:将 person表改为student表

    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 
    FROM
    	student 
    WHERE
    	address = '数据库';
    

DQL

数据查询语言,用来查询数据库中表的记录
在这里插入图片描述

  • 基本查询

    SELECT NAME 
    FROM
    	student;
    

    别名

    SELECT NAME AS
    	'姓名' 
    FROM
    	student;
    
  • 条件查询(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
    	* 
    	FROM
    		emp 
    	ORDER BY
    		age ASC,
    		entrydata ASC;
    
  • 分页查询 (LIMIT)

    SELECT * FROM 表名 LIMIT 页数,查询记录数;
    

DCL

数据控制语言,用来创建数据库用户,控制数据库的访问权限

  • 创建用户(仅在本地)
    CREATE USER 'itecast' @localhost IDENTIFIED BY '123456';
    
    任意IP
    CREATE USER 'itecast' @'%' IDENTIFIED BY '123456'
    
    修改用户密码

函数

字符串函数

在这里插入图片描述

数值函数

在这里插入图片描述

日期函数

在这里插入图片描述

流程函数

在这里插入图片描述

约束

约束是作用于表中字段上的规则,用于限制存储在表中的数据
在这里插入图片描述

外键约束

外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性

  • 添加外键
    ALTER TABLE emp ADD CONSTRAINT fk_emp_dept_id FOREIGN KEY ( dept_id ) REFERENCES dept ( id );
    
  • 删除外键
  • 删除/更新行为
    在这里插入图片描述

多表查询

多表关系

基本分为三种

  • 一对多(多对一)
    • 部门与员工的关系(实现:在多的一方建立外键,指向一的一方的主键)
  • 多对多
    • 学生与课程的关系 (实现:建立第三种表,中间表至少包含两个外键,分别关联两方主键)
  • 一对一

事务

参考资料

B站黑马视频

作为笔记,后面会持续更新该方面

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李和贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值