mysql基础学习1

useradd -r -g mysql -s /bin/false mysql (-r)系统用户 不能登录

A temporary password is generated for root@localhost: d>#jT7rfoaz)

看是否启动  看进程 端口 直接连接 看日志

varchar (20)   char(20)更耗空间

create table student_info(id int,name varchar(20),sex char(10));

root@sc 23:08 mysql>desc student_info;看表的结构

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | YES  |     | NULL    |       |

| name  | varchar(20) | YES  |     | NULL    |       |

| sex   | char(10)    | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.01 sec)

或者show create table student_info

数据在/datamysql 中

select ceil(1.5) floor(1.5) truncate(1.56,1) 结果:2,1,1.5  取整

sign(-1) 判断正负  -1 负数  0-0  1 正数

[root@hunan_cs_furong mysql]# cd sc

[root@hunan_cs_furong sc]# cat db.opt

default-character-set=utf8 默认字符集

default-collation=utf8_general_ci 字符集对应的校对规则

告诉我们这个库使用的字符集

[root@hunan_cs_furong sc]# ls

db.opt  student_info.frm表结构文件 frame框架  student_info.ibd表的数据和索引(快速查找数据 描述数据的数据)

innodb data  默认使用存放引擎innodb 还有个myisam  存储引擎和绑定

将MYSQL内存里的数据存放到磁盘 将磁盘里的数据读取到内存

create table student_info(id int,name varchar(20),sex char(10)) engine=myisam;

.frm  (表结构数据)  .MYD (myisam存储引擎存放数据data)  .MYI(索引)

mysql多线程 mysqld_safe—mysqld

配置文件/etc/my.cnf

用socket槽 进程和进程之间通信的方式 共享内存 消息队列

文件socket (默认) 要求在同一台电脑上 实现一台电脑上不同进程之间通信的文件

网络socket ip+port 不同电脑不同进程之间的通信

create user ‘xfb’@’%’ identified by ‘123456’;

grant all on *.* to ‘xfb’@’%’;

show processlist;看有哪些机器连接

desc 看表结构

存储引擎:MyISAM

/etc/my.cnf service mysqld restart     flush privileges

skip-grant-tables跳过密码认证 当忘记密码的时候 登录进去 修改密码 然后刷新权限 然后再把配置文件这行注释掉

编译安装需要make  make install make -j 2

mysql是二进制安装 安装速度快 版本5.7.37 登录就可以看 select version

auto-rehash tab补齐

prompt =\\u\\d\\R:\\m mysql>  user database

authentication_plugin  mysql_native_password密码验证插件

alter user ‘xfb’@’%’ identified with mysql_native_password by ‘1234’;

drop user ‘xfb’@’%’

show warning;

create table if not exists xieshan.ejiao(id int ,name varchar(20)) engine=myisam ;

select * from xieshan.ejiao

insert into ejiao(id,name) values(1,’he’)

索引:描述数据的数据 相当于目录

给主键加索引 加快数据查询速度

create table test.xfb(

payment int not null primary key(不能出现重复的 不能null),

playerno int not null conment “球员编号”,

payment_date date not null unique( 唯一性约束唯一不能出现一样的 但可以是NULL 空值也只能一次),

amout decimal(7,2)定点型精确值,总长度7位 保留两位 not null)

alter table xfb add name varchar(20);

alter table xfb modify name char(20);

alter table xfb change name username varchar(20);

zerofill 填充0

signed 有符号数 无符号数

set @@auto_increment_offset=10;起始值  设置系统变量

set @@auto_increment_increment=10;每次加十

三大数据类型:数值:整数 浮点型 定点型decimal

字符串  日期和时间 时间戳

特殊:GIS

create table t3(id tinyint unsigned)(0-255) 字段选型

tinyint  255 一个字节 id 年龄等 默认有符号(-128--127)

smallint 2个字节 0-65535

int 40忆 放不下电话号码(用varchar可变数据类型)

blob 二进制文本 放图片视频

timestamp时间戳 now()

库就是文件夹 表就是文件

DML语句 数据操作语言 data manipulation language

insert replace update delete select truncate help 数据库增删改查

DDL语句 数据定义语言 date definition language

create drop alter  建表建库

DCL语句 数据控制语言 data control language

grant revoke撤销

DQL语言 数据查询语言 Data query language

select

DBMS 数据库管理系统 database management system

OFS  指定awk输出分隔符

show engines 看存储引擎 innodb myisam csv(文本文件 以,分隔) memory(存储在内存 临时表) blackhole

支持外键 支持事务 行锁 支持哈希索引

innodb:是mysql默认存储引擎,如果应用对事务的完整性比较高,并发情况下要求数据一致性高,更新删除操作比较多

myisam:应用以读写操作和插入操作为主,很少更新和删除操作,并且对事务的完整性,并发性要求不高

memory:将所有数据保存在内存中,访问速度快,通常存放临时表,但是对表的大小有限制

事务:用来执行一组sql语句 一般insert update delete语句 维护数据库的完整性

原子性(如果发生错误会回滚到事务开始之前状态) 一致性(完整性)   持久性

隔离性(允许多个事务对数据进行修改 隔离级别:读未提交 读提交 可重复读 串行化)

读未提交:事务可以读取其他事务未提交的数据,会产生脏数据,幻读

读以提交:只能读其他事务已经提交的数据,幻读

可重复读:事务在整个事务期间看到的数据都是一致的,即使其他事务提交了数据更改,幻读   默认

丢失更新:如果两个事务同时对数据进行修改则会导致问题

悲观锁:认为两个事务更新操作一定会发生丢失更新:通过语句后面加for update来实现行级锁select * from t_account wheret.id=’1’ for update;

乐观锁:认为事务不一定会产生丢失更新,让事务进行并发修改,不对事务进行锁定,可以对数据表自增version字段或时间戳timestamp进行数据修改,数据库会检测version字段或者时间戳是否与原来的一致,若不一致抛出异常

select @@transaction_isolation

并发事务问题:脏读(一个事务读到另外一个事务未提交的数据)  不可重复读(一个事务先后读取同一条记录,但两次读取的数据不同) 幻读(一个事务按照条件查询数据时,没有对应的数据行,但是再插入数据时,又发现这行数据已经存在)

begin或者start transaction 开始事务

commit提交事务

rollback 回滚 撤销所有未提交的修改

savepoint identifier在事务中创建一个保存点

ROLLBACK TO identifier 把事务回滚到标记点;

set transaction设置事务隔离级别

set autocommit=1设置自动提交

set session(当前) transaction isolation level

START TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;

UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;

IF (条件) THEN

    COMMIT; -- 提交事务

ELSE

    ROLLBACK; -- 回滚事务

END IF;

alter table mysql

add column新增列 modify修改数据类型 change改列名 drop删除列 rename改表名

ALTER TABLE employees 创建唯一索引

ADD CONSTRAINT idx_email UNIQUE (email);

select distinct (取某列唯一的值 去重)

select  … where id=1

<>不等于 between like

Select * from emp where ename like 'M%';

查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。

  •  % 表示多个字值,_ 下划线表示一个字符;

UPDATE Websites SET alexa='5000', country='USA' WHERE name='菜鸟教程';

SELECT * FROM Websites
WHERE name REGEXP '^[A-H]'; name以a-h字母开头的网站 模式匹配或者RLIKE

三个列(url、alexa 和 country)结合一起,创建一个名为 "site_info" 的别名:

SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info
FROM Websites;

SELECT * FROM employees

ORDER BY department_id ASC, hire_date DESC;

SELECT product_name, price

FROM products

ORDER BY price DESC NULLS LAST;  把null值放到最后 first

mysql> SELECT name, SUM(signin) as signin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

+--------+--------------+

| name   | signin_count |

+--------+--------------+

| 小丽 |            2 |

| 小明 |            7 |

| 小王 |            7 |

| NULL   |           16 |

在根据名字分组得基础上再根据登录次数统计 

select coalesce(a,b,c);

如果 a==null,则选择 b;如果 b==null,则选择 c;如果 a!=null,则选择 a;如果 a b c 都为 null ,则返回为 null(没意义)。

mysql> SELECT coalesce(name, '总数'), SUM(signin) as signin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

+--------------------------+--------------+

| coalesce(name, '总数') | signin_count |

+--------------------------+--------------+

| 小丽                   |            2 |

| 小明                   |            7 |

| 小王                   |            7 |

| 总数                   |           16 |

+--------------------------+--------------+

select * , columnName1+ifnull(columnName2,0) from tableName;

columnName1,columnName2 为 int 型,当 columnName2 中,有值为 null 时,columnName1+columnName2=null, ifnull(columnName2,0) 把 columnName2 中 null 值转为 0。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/929390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Echarts使用平面方法绘制三维立体柱状图表

目录 一、准备工作 1.下载引入ECharts库 2.创建容器 二、绘制基本柱状 三、绘制立体柱状方法一 1.定义立方体形状 2.注册立方体形状 3.配置custom系列 4.设置数据 5.渲染图表 四、绘制立体柱状方法二 1.画前知识 2.计算坐标renderItem 函数 &#xff08;1&#x…

基于 MindQuantum 实现对 “天衍” 量子云平台真机的比特映射

MindQuantum 目前只支持量子模拟器&#xff0c;如果需要获得量子算法在真机上的实测数据&#xff0c;可以借助“天衍”量子云平台提供的真机。本文将介绍如何基于 MindQuantum 绘制“天衍”真机的拓扑图&#xff0c;并进而实现比特映射。 关于 MindQuantum 涉及比特映射的教程…

OpenBayes贝式计算创始人受邀参加第九届中国开源年会,分享 AI4S 前沿洞察

Open Source&#xff0c;Open Life&#xff0c;开源新生活&#xff01; 由开源社主办的第九届中国开源年会 (COSCon24) 于 2024 年 11 月 3 日在北京圆满落幕。本届大会为期 2 天&#xff0c;以 「开源新生活 - Open Source, Open Life 」 为主题&#xff0c;汇聚了来自全国各…

Day1 生信新手笔记

生信新手笔记 生信学习第一天笔记打卡。 转录组学中&#xff1a; 上游分析-基于linux&#xff0c;包括质控、过滤、比对、定量&#xff1b; 下游分析-基于R语言&#xff0c;包括差异分析、富集分析、可视化。 1. 级别标题 一个井号加空格 就是一级标题&#xff0c;两个井号加…

日拱一卒(9)——leetcode学习记录:两数组中位数

一、问题 给定两个大小分别为 m 和 n 的排序数组 nums1 和 nums2&#xff0c;要求你在 O(log(mn)) 的时间复杂度内找出这两个数组的中位数。 二、思路 时间复杂度O(log(n))代表随着操作数增加&#xff0c;剩余操作数递减&#xff0c;如二分法。 首先要建模&#xff0c;对这…

从 HTML 到 CSS:开启网页样式之旅(五)—— CSS盒子模型

从 HTML 到 CSS&#xff1a;开启网页样式之旅&#xff08;五&#xff09;—— CSS盒子模型 前言一、盒子模型的组成margin&#xff08;外边距&#xff09;&#xff1a;border&#xff08;边框&#xff09;&#xff1a;padding&#xff08;内边距&#xff09;&#xff1a;conten…

【区块链】深入理解区块链中的 Gas 机制

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解区块链中的 Gas 机制一、Gas 的基本概念1.1 为什么需要 Gas&#xff1f…

黑马JavaWeb-day06、07、08(SQL部分) _

文章目录 MYSQL概述数据模型SQL简介SQL分类 DDL数据库操作表操作 DML增&#xff08;INSERT&#xff09;改&#xff08;UPDATE&#xff09;删&#xff08;DELETE&#xff09; DQL基本查询条件查询&#xff08;where&#xff09;分组查询&#xff08;group by&#xff09;排序查询…

Kubernetes集群操作

查看集群信息&#xff1a; kubectl get nodes 删除节点 &#xff08;⽆效且显示的也可以删除&#xff09; 后期如果 要删除某个节点&#xff0c;为了不增加其他节点的访问压力&#xff0c;先增加一个节点&#xff0c;再删除要删除的节点 语法 &#xff1a;kubect delete…

基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

三步入门Log4J 的使用

本篇基于Maven 的Project项目&#xff0c; 快速演示Log4j 的导入和演示。 第一步&#xff1a; 导入Log4j依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.24.2</version&…

Redis 基础、Redis 应用

Redis 基础 什么是 Redis&#xff1f; Redis &#xff08;REmote DIctionary Server&#xff09;是一个基于 C 语言开发的开源 NoSQL 数据库&#xff08;BSD 许可&#xff09;。与传统数据库不同的是&#xff0c;Redis 的数据是保存在内存中的&#xff08;内存数据库&#xf…

3D数据大屏实现过程,使用echarts、Next.js

&#x1f4dc; 本文主要内容 数据大屏自适应方案动效 echarts&#xff1a; 3D 立体柱状图动态流光折线图 3D 地球&#xff08;飞线、柱状图&#xff09;无限滚动列表 &#x1f50d; 大屏效果 数据大屏&#xff1a; 点击预览 &#x1f579; 运行条件 next 12.3.4echarts 5.4…

标贝科技受邀出席2024东湖国际人工智能高峰论坛并入选数据要素合作伙伴名单

近日&#xff0c;备受瞩目的2024东湖国际人工智能高峰论坛在中国光谷科技会展中心隆重召开。会议以“智联世界&#xff0c;共创未来”为主题&#xff0c;省市相关单位、专家学者、产学研各界百余家联合体单位齐聚一堂&#xff0c;共话人工智能领域的最新技术及产业发展趋势。会…

unity与android拓展

一.AndroidStudio打包 1.通过Unity导出Android Studio能够打开的工程 步骤 1.设置导出基本信息&#xff1a;公司名、游戏名、图标、包名等关键信息 2.在File——>Build Settings中&#xff0c;勾选 Export Project 选项 3.点击Export 导出按钮 2.在Android Studio中打开Un…

linux通过fork()和execve()调用其他程序在子线程中运行

fork()的的使用见上一期 linux C fork()和系统调用文件-CSDN博客 简单说一下fork的作用就是创造一个子进程和当前进程一起执行下面的代码 pid_t fork(void) execve的作用为&#xff1a;让当前进程内容销毁大部分&#xff0c;重新执行一个程序 int execve (const char *__path…

整数benders分解算法

benders分解是将问题分为限制主问题和子问题&#xff0c;然后主问题向子问题传入变量&#xff0c;接着根据子问题求解的信息向主问题返回割&#xff08;最优割和可行割&#xff09;&#xff0c;这些割以约束的形式被添加到主问题中。其中&#xff0c;子问题因为求解得到的解是可…

Unity之(多语言)Localization本地化工具

一、安装和配置 Localization Localization是Unity基于对多种语言和区域变体所设计的一个本地化工具&#xff0c;常用与切换多国语言时文本、图片的动态替换。 1.安装Localization插件 Window—> Package Manager&#xff0c;打开Package Manager面板 Packages选择Unity Re…

使用Mac下载MySQL修改密码第一篇_数据库

Mac下载MySQL MySQL官网链接MySQL​​​​​​ 当进入到官网后下滑到community社区&#xff0c;进行下载 然后选择community sever下载 这里就是要下载的界面&#xff0c;如果需要下载之前版本的话可以点击archives&#xff0c; 可能会因为这是外网原因&#xff0c;有时候下…

服务器数据恢复—EVA存储硬盘磁头和盘片损坏离线的数据恢复案例

服务器存储数据恢复环境&故障&#xff1a; 一台HP EVA存储中有23块硬盘&#xff0c;挂接到一台windows server操作系统的服务器。 EVA存储上有三个硬盘指示灯亮黄灯&#xff0c;此刻存储还能正常使用。管理员在更换硬盘的过程中&#xff0c;又出现一块硬盘对应的指示灯亮黄…