mysql入门操作(部分操作,不为完全格式)
查询数据库在电脑中绝对路径:
show variables like '%datadir%';
设置字符集
set names gbk;
导入数据库
source 绝对路径
eg:
source D:\sy1.sql
/**********************************************************************************
//查询表结构
desc + 表名;
具体查询表内信息:
(1)信息全部查找
select * from + 表名;
(2)具体查询表内列的信息;
select 列名,列名,列名 from + 表名;
复制表:
(1)创建一个新表进行全内容复制
create table +新表名 like 旧表名;
(2)复制部分表结构
create table +新表名 as select 列名,列名 from +旧表名;
可以看见上述复制表结构没有复制主键,这个时候想以名字作为主键就调用修改指令自己加
增添键:
alter table +表名 add primary key (+列名,+列名);
删除主键:
alter table +表名 drop primary key;
设置序号自增主键:
alter table +表名 add column +列名 +数据类型 auto_increment primary key;
增加列:
alter table +表名 add +列名 列类型; ps:如果想指定要列加到哪一列前面或者后面就再最后 after +列名; /**************我的mysql版本before被封禁了,用不了好像;*/
删掉列:
再添加指定位置:
修改单列顺序:
其实是相当于更改列
alter table +表名 change +列名 +新列名 数据类型 after +列名;
修改列:
alter table +表名 change +列名 +新列名 +属性; ps:具体还得研究一下怎么修改各个属性
单纯修改列类型:
alter table +表名 modify +列名 +数据类型;
更改表名:
rename table +原表名 to +新表名;
删表:
drop table +表名;
向指定表中存入具体信息数据:
(1)
insert into +表名
values(第一列数据,第二列数据,.....);
如果存在插入某列默认值就按顺序在那一列的位置写上default,没有值填写null;
(2)
insert into +表名
set 列=数据,列=数据,列=数据,....;
从另外一张表结构相同的表中复制信息到表中:
insert into +表名
select * from +表名;
更改表内数据信息:
replace into +表名
values(第一列数据,第二列数据,.....);
主键表内不存在就插入
在主键存在相同记录情况下修改信息
删除表内信息:
(1)删除表内所有信息:
delete from +表名;
(2)删除表内单个指定信息:
delete from +表名
where +列名 =指定内容;
修改表内信息:
(1)按列修改:
update +表名 set +列名=修改的值或信息;
(2)指定具体要修改的位置:
update +表名 set +列名= 修改信息 where +列名=指定信息;
修改多个表:
同时修改多个表必须指出单个表的列名进行修改,否则就会模糊;ps:现阶段的理解操作;
不知明模糊;
指明:
只想修改单个的信息不是一列的就和上面的情况一样,后面加个where +列名=指定信息;
临时查看表内部分信息
select +列名,+列名,+列名,+列名
from +表名; ps:如果需要查找指定的部分信息在后面加个 where +列名=指定信息; 还可以起别名,如果别名中存在空格就要用引号把整个别名框起来;
查看部分表内信息时按照特定东西分类重新定义一个列:
select +列名,+列名,+列名,+列名,
case
when +特定列名 =||>||<||>=||<= 特定值 then 新列名的值
when +特定列名 =||>||<||>=||<= 特定值 then 新列名的值
.....
end as 新列名
from +表名;
查看部分信息对其中数值进行变化同时更改列名进行展示:
select +列名,+列名,+列名,+列名(加减乘除运算) as +新定义此列名别名 from +表名;
查看对其中一列不重复的做法:
只查询单列情况的话时不存在重复的
如果查多列情况,就会出现有差异的但是每个也只会出现一次
聚合函数,调用查找特定信息
(1)count函数 /*用于统计计算数目*/
select count(+列名) as +对查询数目信息的描述
from +表名; ps:一般要使用where都在最后使用;
(2)max/min 函数
select max(+列名),min(+列名)
from +表名;
(3) sum/avg函数
使用方法与上方相同;
(4)variance/stddev函数 分别为方差与标准差
使用方法与上方相同;
(5)group_concat函数,相当于一种分组函数
where 使用机制:
有时列中存在空值,而有时会使用到这些空值:
对于想通过多个不同的具体点索引特定信息的方式:and / or / not
like 运算符:
between与in的用法:
select +列名,+列名,+列名
from +表名
where +列名 /*not*/ between 表达式1 and 表达式2;
交叉连接,将两个表每一行都连接一次显示临时表:
select * from +表名 join +表名;
表中选择的列会与另一张表中的选择列进行每行相连;
等值连接:
通过两个表中列的值相同进行相连接,只要值相同就能连接:
select * from +表名 join +表名 on 表名.列名=表名.列名;
自然连接:
需要两张表有相同的列或类型相似:ps:交叉连接就算表内有相同的列也不会合并,自然连接会自动合并选择使用合并的列名,如下使用编号进行合并;
select * from +表名 join +表名 using(列名);
自连接:
自己与自己连接,此方法需要别名操作:
select * from +表名 +别名 join +表名 +别名 on 别名.列名=别名.列名 (and/or/not) 别名.列名=别名.列名;
浅浅示范一下:
多表非等值连接:
将一个特定范围的表相接:
select +列名,+列名,+列名,+列名 from +表名 join +表名 on +列名 between +设定条件 and +设定条件; ps:其中的列名是两个表都可以,因为我是制造一个临时表,from 表 join表只是改变这个临时表的列排序;
左/右外连接:
返回左表的全部选择,并且将符合左边的右边条件加上进行显示: ps:要两表存在相同的列,使用相同的列进行匹配,否则报错因为另一张表查询不到;
select * from +表名 left/right join +列名 using(+列名); ps:后面的条件是自己设置的
多表查询,大于等于2张表以上:ps需要至少两张表之间存在共同的列,不用形成环,但要形成链;
select +列名,+列名,+列名
from +表名
join +表名
using(+列名)
join +表名
using(+列名);
ps:using内部的列名必须是前后两张表之间存在的相同列;至于上面选择显示的列就是表中有就行是个并集;
多表查询的外连接情况,仅仅最后一个外连接会奏效。
mysql入门操作(部分操作,不为完全格式)的更多相关文章
- python数据库操作 - MySQL入门【转】
python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...
- MySQL入门(1)——基础操作
MySQL入门(1)--基础操作 创建数据库 创建基本数据库: create database db_admin; 创建基本数据库(等价于CREATE DATABASE): create schema ...
- mysql 数据库必备命令操作,入门练习一下
mysql 数据库必备命令操作 show databases: 查看所有的数据库: create database jfedu: 创建名为jfedu数据库: use nihao: 进入jfedu数据库 ...
- Python入门篇-文件操作
Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- [转]Mysql命令行常用操作
Mysql命令行常用操作 一.从命令行登录MySQL数据库服务器 1.登录使用默认3306端口的MySQL /usr/local/mysql/bin/mysql -u root -p 2.通过TCP连 ...
- [mysql]brew 安装 配置 操作 mysql(中文问题)
mac 下卸载mysqldmg mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很多文章记述要删的文件不完整,后来在stac ...
- mysql 查看 删除 日志操作总结(包括单独和主从mysql)
我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的.这些是数据库的操作日志.它记录了我们平时使用 ...
- MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项
以下的文章主要介绍的是MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项是值得我们大家注意的,我们大家可能不知道过多的对索引进行使用将会造成滥用.因此MySQL索引也会有它的缺点: 虽然索引 ...
随机推荐
- 使用PdfSharp从模板生成Pdf文件
最近在做一个生成文档的需求.通过先制作一个包含各字段占位符的文档模板,导入这个模板并填写内容替换掉占位符,再输出成最终文件. 由于版式固定,安全性更好,业务上常用Pdf作为最终标准化的格式, 在. ...
- Chrome Audio Capture - 录音插件 功能很简单,就是点击录音 文本转语音用
Chrome Audio Capture - 录音插件 功能很简单,就是点击录音 文本转语音用
- 教你一招,解决Github图片不显示问题(2021.1.20测试可用)
本文提供的是windows系统解决方法,linux系统和mac系统可以参考原理,修改DNS的ip地址为阿里云或者是修改hosts文件 问题 可能有些朋友和我遇到同样的问题,逛Github的时候会发现, ...
- day04-实现SpringBoot底层机制
实现SpringBoot底层机制 Tomcat底层启动分析+Spring容器初始化+Tomcat关联Spring容器 1.任务1-创建Tomcat,并启动 (1)创建一个Maven项目,修改pom.x ...
- 12_采样格式&音频重采样
采样格式 通过前面学习我们知道FFmpeg和SDL都有自己的采样格式的表达式,那么他们都表示什么意思呢? FFmpeg的采样格式的表达式: enum AVCodecID { ...... AV_COD ...
- CSS(复合选择器、显示模式、背景属性)
一.emmet语法 1.简介 Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度, Vscode内部已经集成该语法. 快速生成HTML结构语法 快速生成CSS样式 ...
- 三维模型OBJ格式轻量化压缩在大规模场景的加载和渲染的作用分析
三维模型OBJ格式轻量化压缩在大规模场景的加载和渲染的作用分析 OBJ格式是一种常用的三维模型文件格式,它存储了三维模型的几何信息和纹理坐标等相关属性.在大规模场景中加载和渲染三维模型时,OBJ格式的 ...
- PHP 数据库表单创建方法记录(储存三方接口数据必用)
最近项目在对接第三方接口数据,这里分享下我用来偷懒的一个PHP方法: /** * 数据库表单创建方法 * @return string * @throws \Exception */ public f ...
- C++正则表达式 <regex>
一 简介 概括而言,使用正则表达式处理字符串的流程包括: 用正则表达式定义要匹配的字符串的规则, 然后对目标字符串进行匹配, 最后对匹配到的结果进行操作. C++ 的 regex 库提供了用于表示正则 ...
- 《Effective Java》笔记
2. 创建和销毁对象 1. 静态工厂方法替代构造器 优点: 名称清晰 每次调用不必new对象 可以返回原返回类型任意子类型对象 返回的对象可以随着调用而发生改变 返回的对象所属的类,在编写该静态工厂方 ...