2023年8月7日

MySQL: MySQL表的七大约束详解

文章目录 MySQL表的约束 1,默认约束 2,非空约束 3,唯一约束 4,主键约束 5,自增约束 6,检索约束 7,外键约束 MySQL表的约束 1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2.目的:保证数据库中数据的正确、有效性和完整性。 约束 描述 关键字 默认约束 保存数据时,如果未指定该字段的值,则采用默认值 DEFAULT 非空约束 限制该字段的数据不能为null NOT NULL 唯一约束 保证该字段的所有数据都是唯一、不重复的 UNIQUE 主键约束 主键是一行数据的唯一标识,要求非空且唯一 PRIMARY KEY 自增约束 为每条记录生成唯一的标识号 AUTO_INCREMENT 检索约束 保证字段值满足某一个条件(8.0.16版本之后) CHECK 外键约束 用来让两张表的数据之间建立连接,保证数据的一致性和完整性 FOREIGN KEY 注意…
2023年7月30日

MySQL: MySQLDumper 基于Web的MySQL备份/恢复PHP脚本

MySQLDumper 是一个基于 Web 的 MYSQL 备份/恢复脚本,可以处理巨大的数据库。 此外,就像在 phpMyAdmin 中一样,您可以在易于使用的 SQLBrowser 中创建、删除数据库、表和视图,或者查看、搜索、删除、编辑或添加字段。 https://sourceforge.net/projects/mysqldumper/ Additional Project Details Languages French, Italian, Greek, Vietnamese, English, Portuguese, Swedish, Turkish, Danish, German, Spanish, Arabic Intended Audience Advanced End Users User Interface Web-based Programming Langu…
2022年9月27日

MySQL: Ubuntu 20.04 上安装 MySQL 及 MySQL基础

官方文档 本文目录: 1.1 安装 1.2 配置MySQL的安全性 1.3 以root用户登录 1.4 修改密码 1.5 撤销用户授权 1.6 删除用户 2.1 SQL书写规范 2.2 命名规则 2.3 数据类型 (1)数值类型 (2)日期和时间类型 (3)字符串类型 3.1 数据库的创建 3.2 数据库的查看 3.3 选择数据库 3.4 删除数据库 4.1 表的创建 4.2 表的删除 4.3 表的更新 4.4 表的查询 4.5 表的复制 5.1 算术运算符 5.2 比较运算符 5.3 逻辑运算符 6.1 聚合函数 6.2 对表分组 6.3 使用WHERE语句 6.4 为聚合结果指定条件 6.5 对表的查询结果进行排序 7.1 数据的插入 7.2 数据的删除 7.3 数据的更新 8.1 安装pymysql 8.2 连接数据库 8.3 创建游标 8.4 类方法 8.5 实战 前言 MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开…
2022年9月25日

MySQL: 多用户同时操作一条Mysql记录问题

目录 关于乐观锁和悲观锁 悲观锁: 乐观锁:   场景:两个用户同时读取了数据库中的一条记录,此时用户A对其中一个字段的值进行了修改操作并进行了提交,后来用户B也对这个字段进行了修改,用户B的提交将会覆盖用户A提交的值   回到顶部 关于乐观锁和悲观锁 悲观锁: 每次去取数据,很悲观,都觉得会被别人修改,所以在拿数据的时候都会上锁。 简言之,共享资源每次都只给一个线程使用,其他线程阻塞,等第一个线程用完后再把资源转让给其他线程。 synchronized和ReentranLock等都是悲观锁思想的体现。  乐观锁: 每次去取数据,都很乐观,觉得不会被被人修改。 因此每次都不上锁,但是在更新的时候,就会看别人有没有在这期间去更新这个数据,如果有更新就重新获取,再进行判断,一直循环,直到拿到没有被修改过的数据。 CAS(Com…
2022年9月22日

Redis: Redis命令参考

http://redisdoc.com/ Redis 命令参考¶ 字符串 SET SETNX SETEX PSETEX GET GETSET STRLEN APPEND SETRANGE GETRANGE INCR INCRBY INCRBYFLOAT DECR DECRBY MSET MSETNX MGET 哈希表 HSET HSETNX HGET HEXISTS HDEL HLEN HSTRLEN HINCRBY HINCRBYFLOAT HMSET HMGET HKEYS HVALS HGETALL HSCAN 列表 LPUSH LPUSHX RPUSH RPUSHX LPOP RPOP RPOPLPUSH LREM LLEN LINDEX LINSERT LSET LRANGE LTRIM BLPOP BRPOP BRPOPLPUSH 集合 SADD SISMEMBER SPOP SRANDMEMBER SREM SMOVE…
2022年9月20日

MySQL 导出导入数据

1. MySQL 导出数据 MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上。 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 runoob_tbl 数据导出到 /tmp/runoob.txt 文件中: mysql> SELECT * FROM runoob_tbl -> INTO OUTFILE '/tmp/runoob.txt'; 你可以通过命令选项来设置数据输出的指定格式,以下实例为导出 CSV 格式: mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/runoob.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n'; 在下面的例子中…
2022年8月29日

MySQL: 自增字段(AUTO_INCREMENT)的一些常识

在系统开发过程中,我们经常要用到唯一编号。使用过mysql的人都应该知道,mysql有一个定义列为自增的属性:AUTO_INCREMENT。   指定了AUTO_INCREMENT的列必须要建索引,不然会报错,索引可以为主键索引,当然也可以为非主键索引。(不一定要做主键) 1 2 3 mysql> create table t4 (id int auto_increment); ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key mysql> 下面的定义把t5表的主键定义为了name,而非自增的id字段 1 2 3 mysql> mysql> create table t5 (id int au…
2022年8月9日

MySQL: 索引

索引分类 (1)普通索引(Key Indexes) (2)唯一索引(Unique Indexes) (3)主键索引(Primary Key Indexes) (4)组合索引(Composite Index) (5)前缀索引( Prefix Indexes) (6)全文索引(Full-Text Indexes) (7)哈希索引(Hash Indexes) (8)空间索引(Spatial Indexes) 普通索引 普通索引是最基本的索引,没什么限制,根据创建时机不同,主要有两种方式: (1)在创建表时同时创建普通索引 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name( col_name column_definition, INDEX|KEY [index_name] [index_type] (col_name […
2022年8月3日

MySQL: 实时查看日志

查看MySQL数据库日志可以查看对数据库的操作记录。 MySQL日志文件默认没有产生,需要做如下配置: 1. 编辑配置文件: /etc/mysql/mysql.conf.d$ vim mysqld.cnf # # * Logging and Replication # # Both location gets rotated by the cronjob. # # Log all queries # Be aware that this log type is a performance killer. general_log_file = /var/log/mysql/query.log general_log = 1 2. 重启MySQL服务。 sudo service mysql restart 3. 实时查看日志内容: $ sudo tail -f /var/log/mysql/query.log…
2022年7月3日

MySQL: WITH ROLLUP + HAVING的结果分析

MySQL> select * from stu; +----+--------+-----+--------+--------+---------+-------+--------+ | id | name | age | height | weight | gender | class | del | +----+--------+-----+--------+--------+---------+-------+--------+ | 1 | Tom | 23 | 175.00 | 63.00 | male | cls1 | 0 | | 2 | Bonnie | 26 | 167.00 | 49.00 | female | cls2 | 0 | | 3 | Edith | 27 | 165.00 | 51.00 | female | cls3 | 0 | | 4 | Bert | 52 | | 52.00 | unknown | cls1 | | | 5 | Ken | 27 | | 55.…