首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库学习

cmd–> services.msc 打开服务的窗口 使用管理员打开cmd net start mysql //启动mysql的服务 net stop mysql //关闭mysql服务 MySQL登录...可使用空格和缩进来增强语句的可读性。 MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 3 种注释 单行注释: – 注释内容(两个横杆后需要加空格!)...起别名 select 字段1, 字段2, 字段1 + ifnull(字段2, 0) as 总和 from 表名; select 字段1, 字段2, 字段1 + ifnull(字段2, 0) 总和 from...实现:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键。(那其实一张表能解决。) 一对多(多对一) 举例:部门和员工 分析:一个部门有多个员工,一个员工只能对应一个部门。...管理员运行 cmd 停止 mysql 服务: net stop mysql 使用无验证方式启动 mysql 服务: mysqld --skip-grant-tables 管理员运行新的 cmd ,直接输入

4.2K20

MySQL入门(一)创建删除一个数据库

主键(Primary Key): 一列或一组列,其值能够唯一标识表中的每一行。主键用于确保表中的数据行是唯一的。 外键(Foreign Key): 用于建立表之间关系的一列或一组列。...外键通常是另一表的主键,用于确保引用完整性。 索引(Index): 数据库中的一种数据结构,用于提高检索速度。通过在一个或多个列上创建索引,可以加快数据检索和查询的效率。...查询(Query): 用于从数据库中检索数据的命令或语句,通常使用结构化查询语言(SQL)编写。 触发器(Trigger): 一种在数据库中定义的特殊存储过程,当特定事件发生时自动执行。...启动数据库 在cmd命令行里面输入; mysql -u root -p root为用户名 接下来输入密码就可以启动数据库 2.MySQL的创建 2.1 MySQL命令 USE 数据库名; 选择要操作的Mysql...数据库,使用该命令后所有Mysql命令都只针对该数据库 复制 2.2.查看数据库 SHOW DATABASES;列出 MySQL 数据库管理系统的数据库列表。

30720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL基础之一

    存储在同一表中的信息应该是一种类型或者一种清单,便于SQL化管理; column:列。表中没列都有相应的数据类型; row:行。每行记录一条记录。 primary key:主键。...表中每一行都应该有标识自己的一列(一组列)。主键那一列其值能够唯一区分表中每一行。所以同一表中主键任意两行都不具有相同的键值。 二,基础操作, 在MySQL命令行使用程序时,以分号(;)结束每个语句。...也可以使用MySQL Administrator, MySQL Query Brower等图形交互客户机。 连接MySQL:主机名,本机可以使用localhost;端口(默认3306);用户名;密码。...例如用python的pymysql操作连接mysql如下: connect=pymysql.connect(host='localhost',user='root',password='root',port...USE mysqlstudy; 该语句选择要使用的某一个数据库。如图: ? SHOW tables;‍‍该语句显示数据库中所有的表。如图: ?

    69030

    MySQL的实战系列:大字段如何优化

    MySQL的实战系列:大字段如何优化 # 背景 线上发现一张表,1亿的数据量,物理大小尽然惊人的大,1.2T 最终发现,原来有很多字段,10个VARCHAR,1个文本 这么大的表,会给运维带来很大的痛苦...假设创建了一张表,里面有一个字段是一个varchar(30000),innoDB的页才16384个字节,如何存储的下呢?...B + tree中 溢出的数据使用的是解压缩BLOB页面,并且存储独享,这就是存储越来越大的真正原因 通过下面的测试,你会发现,t_long插入的数据仅仅比t_short多了几个字节,但是最终的存储却是...只要一行记录的总和超过8k,就会溢出。...8K会溢出,如果实际长度小于8K则不会溢出,并非所有的斑点,文本都会溢出 多列总和大字段vs一列大字段 多个大字段会导致多次关闭页 root:test> show create table t

    5.3K30

    MySQL快速入门(二)

    ; ''' InnoDB存储引擎规定了一张表必须有且只有一个主键,因为InnoDB是通过主键的方式来构造表的 ''' 如果没有设置主键,InnoDB内部会如何变化?...on delete cascade:级联删除 表与表之间的关系 一对多 多对多 一对一 没有对应关系 ps:表关系没有'多对一' 如何判断两个表或者多个表之间存在关系?...用“换位思考”的方法 一对多 # 判断是否为一对多关系: -> 员工表和部门表举例 --->员工表的角度: 一个员工可以对应多个部门吗? 不可以!...,STRICT_TRANS_TABLES,PAD_CHAR_TO_FULL_LENGTH'; # 重新连接客户端 聚合函数 聚合函数主要就是配合分组一起使用 max:最大 min:最小 sum:总和...,having在分组后使用 # 获取部门所有年龄大于30平均薪资大于10000的员工名字 mysql> select post,group_concat(name) from emp where age

    2.6K20

    数据库入门开发案例,真的是入门级别的!!看了不后悔。

    首先我们先讨论实体之间的联系怎么表示 1.数据库中一对一的实现方式: (如一个学生对应一个档案,一个档案对应一个学生。...学生表为A表,档案表为B表) 唯一外键方式:在A和B任意一表中添加唯一外键(注意是添加完外键后,再点唯一键,进行设置)具体方式点此。 主键关联方式:当A和B的主键相同时,我们就认为是一组数据。...中间关系表:创建一张新表作为中间关系表,两个列分别记录A和B,并且每一列的取值中,值均不能重复(即将这两列均设置为唯一外键,注意:将这两列“既设置为主键,又设置为外键”的方式不能实现该功能,因为可能会出现一列相等而另一列不相等的情况...2.数据库中一对多的实现方式: (如一个班级对应多个学生) 1 在多的一方添加外键:在学生表中添加一列,记录该学生是哪一个班的,该列设置成外键,取值为班级表的主键。...两列均为外键,一列取值为学生表中的唯一标识,一列取值为课程中的唯一标识。两列不用设置成为唯一键,因为每一列中均可有重复,但不能有两行数据在两列上完全重复。

    70720

    flea-db使用之JPA封装介绍

    它定义了 Java 对象如何映射到关系型数据库中的表,并提供了一套标准的 API 来管理这些映射关系以及数据库中的持久化对象。...新版本已废弃(单例模式,本身没有问题,但是由于获取之后 Flea JPA 查询对象还要使用,这在有点并发的环境下就存在问题了;后面我会单独写一篇博文讲解基于对象池的多例模式,既保证并发下各个线程获取的...在 getSingleResult 调用之前使用sum(String attrName) : 设置查询某属性的值的总和,在 getSingleResult 调用之前使用sumAsLong(String...attrName) : 设置查询某属性的值的总和(Long),在 getSingleResult 调用之前使用sumAsDouble(String attrName) : 设置查询某属性的值的总和(Double...),在 getSingleResult 调用之前使用distinct(String attrName) : 去重某一列addOrderby(String attrName, String orderBy

    22321

    超详细的MySQL三万字总结

    DOS 命令方式启动 使用管理员打开cmd net start mysql : 启动mysql的服务 net stop mysql:关闭mysql服务 控制台连接数据库 MySQL 是一个需要账户名密码登录的数据库...) 对这一列求总和 语法: SELECT 聚合函数(列名) FROM 表名; -- 查询学生总数 select count(id) as 总人数 from student; select count(...表与表之间的三种关系 一对多:最常用的关系 部门和员工 多对多:学生选课表 和 学生表, 一门课程可以有多个学生选择,一个学生选择多门课程 一对一:相对使用比较少。...1. cmd -- > net stop mysql 停止mysql服务 * 需要管理员运行该cmd 2....使用无验证方式启动mysql服务: mysqld --skip-grant-tables 3. 打开新的cmd窗口,直接输入mysql命令,敲回车。

    3.4K30

    如何锁“住”MySQL

    如何保证数据并发访问的一致性、有效性是所有数据库必须解决的问题,锁冲突也是影响数据库并发访问性能的一个重要的因素。 2. 分类 「从数据操作类型区分:」 读锁。...2.1.3 表锁加读写锁的总结 对MyISAM表的读操作,不会阻塞其他进程对同一表的读操作,但会阻塞对同一个表的写操作。只有当读锁被释放以后,才可以进行写操作。...标识可以立即获取锁的查询次数,没立即获取锁值加一 table_locks_waited:出现标记锁定争用而发生的等待次数(不能获取立即获取锁的次数,没等待一次就加一) table-open_cache_hits...因为写锁后,其他线程不能做任何的操作,大量的更新会使查询很难得到锁,从而造成永远阻塞。 2.2 行锁(偏写) InnoDB使用行锁,锁定粒度低,发生锁冲突的概率最低,并发度也最高。...当前正在等待锁定的数量 Innodb_row_lock_time。锁定以后进程等待时间总和 Innodb_row_lock_time_avg。

    1.1K10

    mysql数据库面试题目及答案_java面试数据库常见问题

    优缺点 MySQL 索引使用的注意事项 SQL怎么优化 数据库悲观锁和乐观锁的原理和应用场景? 如何做 MySQL 的性能优化? 索引是什么?MySQL为什么使用B+树,而不是使用其他?...通常意味着读取需要获取共享读锁,更新需要获取排他写锁,如果 SQL 使用 WHERE 语句,还会获取区间锁(MySQL 以 GAP 锁形式实现,可重复读级别中默认也会使用),这是最高的隔离级别。...) 3.order by limit 形式的sql语句让排序的表优先查 4.了解业务方使用场景 5.加索引时参照建索引的几大原则 6.观察结果,不符合预期继续从0分析 如何做 MySQL 的性能优化...1、慢查询 2、索引 3、拆分表 实践中如何优化MySQL 顺序优化: 1.SQL语句及索引的优化 2....MySQL为什么使用B+树,而不是使用其他?B+树的特点 索引是帮助MySQL高效获取数据的数据结构。索引:排好序的快速查找数据结构!

    92030

    Java知识点——MySQL

    社区 InnoDB跨时代的存储引擎 MySQL性能是非常不错的!!! 美国小鹰号航空母舰数据存储都是使用MySQL MySQL 隶属于Oracle公司,免费提供使用的数据库软件。...目前流行的版本是 MySQL 5.5 5.6 5.7,最新版本是8.0 实际开发中我们要考虑稳定性,兼容性,普适性 4.2 MySQL获取和安装 【详见】 Windows下安装MySQL5.7 5....SQL简单来分类 C Create R Read U Update D Delete 5.2 MySQL基本操作 cmd > mysql -hlocalhost -uroot -p123456...让MySQL告知当前使用的数据库是哪一个 # 让MySQL告知当前使用的数据库是哪一个 mysql > select database(); 6....avg() 指定字段一列平均值 max() 指定字段一列中的最大值 min() 指定字段一列中的最小值 count() 指定字段有多少行 -- 工资总和 select sum(SALARY) from

    81810

    MySQL:函数盘点

    本篇内容包括:数学函数、字符串函数、日期和时间函数、系统信息函数以及统计函数(聚合函数)的介绍与使用。...一、MySQL函数 1、数学函数 常用的有: (1)ABS() 绝对值 (2)CEILING() 大于等于我的最小整数(天花板) (3)FLOOR() 小于等于我的最大整数(地板) (4)RAND()...NOW())、SECOND(NOW())、分别获取当前日期中的某个部分 4、系统信息函数 常用的有: (1)VERSION() 显示版本信息 (2)USER() 菜单用户信息 5、统计函数(聚合函数)...函数名称 描述 COUNT() 返回满足SELECT条件的记录总和数,如 SELECT COUNT( * ),不建议使用 *,效率低, ()中也可以使用1,或者列名 COUNT()为非空值计数,不会计算空值...SUM() 返回数字字段或表达式列作统计,返回一列的总和 ()中通常加列名 AVG() 通常为数值字段或表达式列作统计,返回一列的平均值 ()中通常为列名 MAX() 可以为数值字段、字符字段或表达式列作统计

    1.1K20

    day04_MySQL学习笔记_01

    * 修改mysql root用户密码             1) 停止mysql服务 在cmd运行输入services.msc 停止mysql服务                 或者 cmd -->...net stop mysql             2) 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)             3...) 新打开cmd 输入mysql -u root -p 不需要密码进入                 use mysql;                 update user set password....); 注意:列名与列值的类型、个数、顺序要一一对应。 可以把列名当做java中的形参,把列值当做实参。 值不要超出列定义的长度。 如果插入空值,请使用null。...)>9000;     查询 工资大于1500,工资总和大于6000的部门 编号以及工资和,按工资总和降序排序 SELECT deptno,SUM(sal) FROM emp WHERE sal>1500

    80510
    领券