认识mysql第三篇,发出的内容适合初学者,如果能持续关注我的博客,可以全面的掌握mysql的常用知识,后续我也会陆续发出python相关的知识,关注我,和我一共进步吧!

1、SQL查询

1、执行顺序

3、select ...聚合函数 from 表名

1、where ...

2、group by ...

4、having ...

5、order by ...

6、limit ...

2、group by

1、作用 :给查询结果进行分组

2、示例

1、查询表中一共有几个国家

2、计算每个国家的平均攻击力

select country,avg(gongji) from sanguo

group by country;

3、查找所有国家中英雄数量最多的前2名的 国家名称和英雄数量

select country,count(id) as number from sanguo

group by country

order by number desc

limit 2;

3、注意

1、group by之后的字段名必须要为select之后的字段名

2、如果select之后的字段名和group by之后的字段不一致,则必须对该字段进行聚合处理(聚合函数)

3、having语句

1、作用

对查询的结果进行进一步筛选

2、示例

1、找出平均攻击力>105的国家的前2名,显示国家名和平均攻击力

select country,avg(gongji) as pjgj from sanguo

group by country

having pjgj>105

order by pjgj DESC

limit 2;

3、注意

1、having语句通常和group by语句联合使用,过滤由group by语句返回的记录集

2、where只能操作表中实际存在字段,having可操作由聚合函数生成的显示列

4、distinct

1、作用 :不显示字段重复值

2、示例

1、表中都有哪些国家

select distinct country from sanguo;

2、计算蜀国一共有多少个英雄

select count(distinct id) from sanguo

where country="蜀国";

3、注意

1、distinct和from之间所有字段都相同才会去重

2、distinct不能对任何字段做聚合处理

5、查询表记录时做数学运算

1、运算符

+ - * / %

2、示例

1、查询时所有英雄攻击力翻倍

select id,name,gongji*2 as gj from sanguo;

## sudo apt-get install python3-pip

## sudo pip3 install pymysql

2、约束

1、作用 :保证数据的完整性、一致性、有效性

2、约束分类

1、默认约束(default)

1、插入记录,不给该字段赋值,则使用默认值

2、非空约束(not NULL)

1、不允许该字段的值有NULL记录

sex enum("M","F","S") not null defalut "S"

3、索引

1、定义

对数据库表的一列或多列的值进行排序的一种结构(Btree方式)

2、优点

加快数据检索速度

3、缺点

1、占用物理存储空间

2、当对表中数据更新时,索引需要动态维护,降低数据维护速度

4、索引示例

1、开启运行时间检测 :set profiling=1;

2、执行查询语句

select name from t1 where name="lucy99999";

3、查看执行时间

show profiles;

4、在name字段创建索引

create index name on t1(name);

5、再执行查询语句

select name from t1 where name="lucy88888";

6、查看执行时间

show profiles;

5、索引

1、普通索引(index)

1、使用规则

1、可设置多个字段

2、字段值无约束

3、key标志 :MUL

2、创建index

1、创建表时

create table 表名(...

index(字段名),index(字段名));

2、已有表

create index 索引名 on 表名(字段名);

create index name on t3(name);

3、查看索引

1、desc 表名; --> KEY标志为:MUL

2、show index from 表名\G;

4、删除索引

drop index 索引名 on 表名;

2、唯一索引(unique)

1、使用规则

1、可设置多个字段

2、约束 :字段值不允许重复,但可为 NULL

3、KEY标志 :UNI

2、创建

1、创建表时创建

unique(字段名),

unique(字段名)

2、已有表

create unique index 索引名 on 表名(字段名);

3、查看、删除 同普通索引

3、主键索引(primary key)

自增长属性(auto_increment,配合主键一起使用)

1、使用规则

1、只能有一个主键字段

2、约束 :不允许重复,且不能为NULL

3、KEY标志 :PRI

4、通常设置记录编号字段id,能唯一锁定一条记录

2、创建

1、创建表时

(id int primary key auto_increment,

)auto_increment=10000;##设置自增长起始值

已有表添加自增长属性:

alter table 表名 modify id int auto_increment;

已有表重新指定起始值:

alter table 表名 auto_increment=20000;

2、已有表

alter table 表名 add primary key(id);

3、删除

1、删除自增长属性(modify)

alter table 表名 modify id int;

2、删除主键索引

alter table 表名 drop primary key;

4、外键索引

4、数据导入

1、作用 :把文件系统的内容导入到数据库中

2、语法

load data infile "/var/lib/mysql-files/文件名"

into table 表名

fields terminated by "分隔符"

lines terminated by "\n";

3、将scoretable.csv文件导入到数据库的表中

1、在数据库中创建对应的表

create table scoretab(

id int,

name varchar(15),

score float(5,2),

number bigint,

class char(7)

);

2、把文件拷贝到数据库的默认搜索路径中

1、查看默认搜索路径

show variables like "secure_file_priv";

/var/lib/mysql-files/

2、拷贝文件

sudo cp ~/scoretable.csv /var/lib/mysql-files/

3、执行数据导入语句

load data infile "/var/lib/mysql-files/scoretable.csv"

into table scoretab

fields terminated by ","

lines terminated by "\n";

4、文件权限

rwxrw-rw- 1 tarena tarena scoretable.csv

所有者 所属组

rwx : tarena用户

rw- : 同组其他用户

rw- : 其他组的其他用户(mysql用户)

r -> 4

w -> 2

x -> 1

chmod 644 文件名 rw-r--r--

5、Excel表格如何转化为CSV文件

1、打开Excel文件 -> 另存为 -> CSV(逗号分隔)

6、更改文件编码格式

1、用记事本/编辑器 打开,文件->另存为->选择编码

5、数据导出

1、作用

将数据库中表的记录导出到系统文件里

2、语法格式

select ... from 表名

into outfile "/var/lib/mysql-files/文件名"

fields terminated by "分隔符"

lines terminated by "\n";

3、把MOSHOU库下的sanguo表英雄的姓名、攻击值、国家导出来,sanguo.txt

select name,gongji,country from MOSHOU.sanguo

into outfile "/var/lib/mysql-files/sanguo.txt"

fields terminated by " "

lines terminated by "\n";

$ sudo -i

$ cd /var/lib/mysql-files/

$ ls

$ cat sanguo.txt

4、将mysql库下的user表中 user、host两个字段的值导出到 user.txt

select user,host from mysql.user

into outfile "/var/lib/mysql-files/user.txt"

fields terminated by " "

lines terminated by "\n";

本节完!

mysql查询表中姓名第三个字_认识mysql(3)相关推荐

  1. Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐)

    Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐) 1.像这样表格里有两个字的姓名和三字的姓名,如何对齐? 2. 框选选中姓名列,鼠标右键点击[设置单元格格式] 3.在[对齐]选项卡中找到[ ...

  2. 【SQL】查询表中姓名“王”开头,并且只有二个字的数据

    今天看到一个SQL问题"查询表中姓名"王"开头,并且只有二个字的数据",没接触过这种查询方法,学习了一下. SELECT create_user_name 创建 ...

  3. mysql查询语句ppt,mysql查询表中数据总条数的语句怎么写

    sql查询表中数据总条:SELECT COUNT(*) FROM 表名称.count(*)代表着抄数据统计的总数.例子本例返回 "Persons" 表中的行数:SELECT COU ...

  4. mysql查询表中重复记录

    mysql查询表中某个字段值重复的记录, 也就是说,该字段值出现的个数是>=2,所以可以对该字段进行分组,然后对字段count计数,再筛选出>=2的count的值即可,具体实现如下: se ...

  5. mysql建立学号与课程编号的索引_数据库mysql 四约束 三范式 六索引

    mysql 四约束 三范式 六索引 1.MySQL 约束 1.约束的作用 分类 表列的primary key主键,unique唯一键,not null非空等修饰符常常被称作约束(constraint) ...

  6. mysql utf-8不支持生僻字_关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析...

    1.问题:mysql 遇到某些中文插入异常 最近有同学反馈了这样一个问题: 上述语句在脚本中 load 入库的时候会 hang 住,web 前端.命令行操作则要么抛出 Incorrect string ...

  7. mysql中以下正确的sql是_总结MySQL中SQL语法的使用

    --where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...

  8. mysql测试数据库 jmeter_第三篇--Jmeter测试数据库Mysql

    Jmeter模拟100用户访问Mysql数据库 1.将Mysql数据库的驱动[mysql-connector-java-5.1.15-bin.jar]放到jmeter的lib目录下,新建线程组100[ ...

  9. mysql中的通配符用不了_在MySQL中使用通配符时应该注意的问题

    现象: 有一个表 action_conf,数据如下: 如果想获取以exp_site_10_开头的en_name的记录,sql语句该如何写? so easy! select en_name from a ...

最新文章

  1. 在Python源中使用UTF-8编码[重复]
  2. 通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端
  3. TF之data_format:data_format中的NHWCNCHW简介、转换的详细攻略
  4. 修改mysql字符集 为utf8_修改mysql数据库字符集为UTF8的
  5. BASIC-3 字母图形
  6. ribbon是什么?
  7. 【C++深度剖析教程15】经典问题解析之关于string的疑问
  8. android文件添加一行代码怎么写,Android:以编程方式添加Textview,而不是将文本包装到下一行(示例代码)...
  9. 吴军:为什么计算机不是万能的
  10. hive外部表/内部表路径知识点
  11. python写TCP协议
  12. 手机抓包 fiddler 配置
  13. ThingJS 3年进化史:为40万物联网开发者打造一站式数字孪生服务平台
  14. python简历模板_于是我用 Python 重写了那个上千 star 的“开源”简历模板
  15. 如何选择适合你的兴趣爱好(六十一),瓷器
  16. Java项目中这样打印错误日志,排查问题更高效
  17. 关于计算机学院的毕业论文致谢,计算机学院毕业生论文致谢范文
  18. [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
  19. 结算机网络的tracert和route命令
  20. 同事能力比你强怎么办

热门文章

  1. 基因婴儿事未了!人类将在2031年开始实现永生?
  2. 详细版【线性模型】(邱锡鹏)
  3. Navicat Premium 15 完全卸载的方法(Windows10)
  4. php 文件防篡改,防篡改php文件校验程序
  5. HttpPrinter实现web打印功能
  6. PC端和移动端都支持视频video自动播放的代码
  7. python对新媒体运营的帮助_做新媒体运营有什么好处
  8. Tempermonkey 如何加载 jQuery
  9. 如何把Steam上的游戏分享给别人
  10. 【C语言篇】C预处理器和C库