MySQL
MySQL
dingpython
这个作者很懒,什么都没留下…
展开
-
利用SQL技能处理数据集
问答题 (100分)【第一题】1、创建db名字叫 flight 创建新表名字叫on_time_performancemysql> create database flight character set 'utf8';Query OK, 1 row affected (0.00 sec)2、航班数据检查csv ,导入到sql数据库中3、执行count语句查看总行数mysql> select count(*) from on_time_performance;+-----...原创 2021-01-24 22:27:46 · 436 阅读 · 0 评论 -
14、MySQL的计算字段
1、字段的拼接 concatselect vend_name, vend_country, CONCAT(vend_name, '(', vend_country, ')') FROM vendors;2、格式化相关字段 trim ltrim rtrimselect vend_name, vend_country, CONCAT(LTRIM(rtrim(vend_name)), '(', vend_country, ')') FROM vendors;3、使用自动别名 as4、数学计算原创 2021-01-23 18:18:45 · 66 阅读 · 0 评论 -
13、MySQL的正则表达式
1、基本字符串匹配 regexpmysql> select * from products where prod_name regexp '1000';+---------+---------+--------------+------------+---------------------------------------+| prod_id | vend_id | prod_name | prod_price | prod_desc原创 2021-01-23 16:11:34 · 62 阅读 · 0 评论 -
12、MySQL的通配符数据过滤,模糊匹配
like操作符%代表任意多个字符mysql> select * from products where prod_name like 'jet%';+---------+---------+--------------+------------+---------------------------------------+| prod_id | vend_id | prod_name | prod_price | prod_desc原创 2021-01-23 15:22:40 · 103 阅读 · 0 评论 -
11、MySQL的数据过滤(二)
not in and ormysql> select * from products where vend_id = 1003 and prod_price <= 10;+---------+---------+----------------+------------+---------------------------------------+| prod_id | vend_id | prod_name | prod_price | prod_desc原创 2021-01-23 15:12:30 · 116 阅读 · 1 评论 -
10、MySQL的数据过滤
where条件过滤找出价格为2.5的产品mysql> select * from products where prod_price = 2.5;+---------+---------+---------------+------------+--------------------------------------+| prod_id | vend_id | prod_name | prod_price | prod_desc原创 2021-01-23 11:23:45 · 63 阅读 · 0 评论 -
9、MySQL的数据排序
1、单个字段的排序order bymysql> select prod_name, prod_price from products order by prod_price;+----------------+------------+| prod_name | prod_price |+----------------+------------+| Carrots | 2.50 || TNT (1 stick) | 2.50 || Fu原创 2021-01-23 11:07:25 · 137 阅读 · 0 评论 -
8、MySQL的数据检索
查看表结构mysql> desc products;+------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+--------------+------+-----+---------+-------+| prod_id | char(10) | NO | PRI |原创 2021-01-23 10:42:55 · 122 阅读 · 0 评论 -
1——7、创建数据库、表
1、创建数据库mysql> create database school default character set utf8 collate utf8_general_ci;Query OK, 1 row affected (0.00 sec)2、建表create tablenum(int)int varchar float bool date innodb myisam3、修改表alter table4、删除表drop table5、重命名表rename table.原创 2021-01-23 10:19:52 · 127 阅读 · 1 评论 -
30、数据备份和性能管理
1、数据备份命令行实用程序mysqldump命令行实用程序mysqlhotcopymysql的backup table 或select into outfiel2、性能改善索引index利用操作系统的参数提高数据库的访问性能原创 2021-01-20 17:06:43 · 91 阅读 · 0 评论 -
29、MySQL事务管理
1、用来维护数据库的完整性,保证成批的sql语句操作成功,如有问题则全部失败;2、事务使用的前提innodb支持myisam不支持术语 tansaction rollback commit savepoint3、演示事务效果select * from customers2;start transaction;delete from customers2;select * from customers2;rollback;...原创 2021-01-18 16:41:48 · 38 阅读 · 0 评论 -
27、MySQL的游标
1、什么是游标在存储过程中,根据需要对数据集合进行前后浏览的一种应用。cursor2、使用/创建游标create procedure pro_cursor()begin declare ordernumbers cursor for select order_num from orders; open ordernumbers; close ordernumbers;end;3、浏览数据create procedure pro_cursor()begin decl原创 2021-01-17 16:04:38 · 55 阅读 · 0 评论 -
26、MySQL存储过程
1、什么是存储过程,为什么要使用a、订单处理,库存核实b、供应商进货c、入库退库多组sql语句的组合,构成了一个业务逻辑,这个业务逻辑就是存储过程简化逻辑,封装业务,安全隔离2、创建存储过程mysql> create procedure avg_price() begin select avg(prod_price) from products; end -> ;Query OK, 0 rows affected (0.02 sec)mysql> call av原创 2021-01-17 15:26:59 · 88 阅读 · 0 评论 -
25、MySQL的视图
好处:1、简化sql语句,实现代码的重用,隐藏业务逻辑2、保护数据3、改变数据格式案例1:创建视图mysql> select cust_name, cust_contact from customers c, orders o, orderitems oi where c.cust_id = o.cust_id and o.order_num = oi.order_num and cust_contact = 'Y Sam';+----------------+--------------原创 2021-01-16 21:12:59 · 85 阅读 · 0 评论 -
24、MySQL的更新和删除
更新 UPDATE更新表中特定行mysql> update customers2 set cust_email = 'abc@example.com' where cust_id = '10006';Query OK, 1 row affected (0.03 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from customers2;+---------+----------------+--------原创 2021-01-16 19:52:35 · 91 阅读 · 0 评论 -
23、MySQL数据插入INSERT语句
案例1:insert语句的使用案例1:插入完整的一行数据mysql> insert into customers values (null, 'abc', '453 Main street', 'los', 'ca', '99045', 'usa', null, null);Query OK, 1 row affected (0.03 sec)mysql> select * from customers;+---------+----------------+------------原创 2021-01-16 19:36:29 · 222 阅读 · 0 评论 -
MySQL第五章 22、全文检索
一个词必须匹配,一个词必须不匹配;以前的 where like 正则 不能完成需要使用全文索引 匹配、不匹配、匹配频率1、启用全文索引innodb 不支持全文索引myisam 支持全文索引2、语法的变化 innerdb 使用 like regexmyisam 使用 match against3、开启表级别的全文索引数据类型必须是text类型 fulltext= (xxxx)mysql> select note_text from productnotes wh原创 2021-01-16 10:40:59 · 110 阅读 · 0 评论 -
MySQL第五章 21、组合查询
1、单个查询从不同的表中返回类似的结果单个表执行多个查询,按照单个查询结果返回mysql> select vend_id, prod_id from products where prod_price <= 5;+---------+---------+| vend_id | prod_id |+---------+---------+| 1003 | FC || 1002 | FU1 || 1003 | SLING || 1003原创 2021-01-16 09:32:46 · 71 阅读 · 0 评论 -
20、MySQL的高级联结查询,非内联结
1、自联结语句主要用途: 树形结构的应用, mid传统模式mysql> select * from products where prod_id in (select prod_id from products where vend_id = '1003');+---------+---------+----------------+------------+-------------------------------------------------+| prod_id | vend_原创 2021-01-15 21:37:18 · 118 阅读 · 1 评论 -
19、MySQL的联结表
外键包含另一个表的主键值1、如何联结多个关联表 jion语句mysql> select vend_name, prod_id, prod_name from vendors, products where vendors.vend_id = products.vend_id;+-------------+---------+----------------+| vend_name | prod_id | prod_name |+-------------+---------+原创 2021-01-15 20:47:14 · 89 阅读 · 0 评论 -
18、MySQL的子查询(嵌套查询)二层过滤
1、子查询,找出所有物品的订单2005,2007根据不同的订单号码,找出相对应的客户,传统模式mysql> select * from orderitems;+-----------+------------+---------+----------+------------+| order_num | order_item | prod_id | quantity | item_price |+-----------+------------+---------+----------+-原创 2021-01-15 16:59:03 · 642 阅读 · 0 评论 -
17、MySQL的数据分组
group by使用了group by, 就不必指定要计算和估值的每个组了、系统会自动生成group by 必须出现在where字句之后,order by字句之前1、创建分组:vend_id为描述字段,不能为计算字段,后面加上计算字段,group by后必须加上所有的描述字段mysql> select vend_id, count(*) from products group by vend_id;+---------+----------+| vend_id | count(*) |+原创 2021-01-14 22:41:08 · 94 阅读 · 0 评论 -
16、MySQL的数据汇聚
确定表中行数(或者满足某个条件或包含某个特定值得行数)获得表中航组的和找出表列(或所有行或某些特定的行)的最大值、最小值和平均值count sum max min avg1、avg聚合函数 平均值mysql> select avg(prod_price) from products;+-----------------+| avg(prod_price) |+-----------------+| 16.133571 |+----------------原创 2021-01-14 21:53:11 · 273 阅读 · 1 评论 -
15、MySQL函数功能
1、定义字符串全部大写、小写mysql> select vend_name, upper(vend_name) as vend_name_upper from vendors;mysql> select vend_name, lower(vend_name) as vend_name_lower from vendors;2、去掉左右空格mysql> select vend_name, ltrim(rtrim(vend_name)) from vendors;3、trim(原创 2021-01-14 21:20:32 · 111 阅读 · 0 评论 -
Navicat远程连接阿里云服务器
Navicat远程连接阿里云服务器其实就是Navicat连接阿里云服务器,没有什么远程不远程;为什么这样说呢?因为Navicat就是安装在你电脑上,服务器上也安装不了;那还是Navicat远程连接阿里云服务器;废话不说了。1、阿里云服务器控制台安全组-安全组规则-入方向要放行3306端口,这个阿里云官方有详细说明我就上一张图:其实现在已经可以通过Navicat连接MySQL了,操作如下:先选择ssh选项如果你不想输入ssh那幅图,就得往下看了!!!2、修改MySQL配置文件sudo vi原创 2021-01-10 14:03:39 · 502 阅读 · 0 评论 -
anaconda国内镜像快速下载
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/原创 2020-12-05 10:31:12 · 4871 阅读 · 1 评论 -
Redis数据库set-06和zset
无序集合元素为string类型元素具有唯一性,不重复添加元素127.0.0.1:6379> sadd myset aa(integer) 1127.0.0.1:6379> sadd myset bb(integer) 1127.0.0.1:6379> sadd myset cc(integer) 1127.0.0.1:6379> sadd myset cc dd ee(integer) 2127.0.0.1:6379> sadd myset cc d.原创 2020-06-29 19:08:59 · 139 阅读 · 0 评论 -
redis数据库05-list
列表的元素类型为string按照插入顺序排序在列表的头部或者尾部添加元素在这里插入代码片原创 2020-06-29 18:22:47 · 77 阅读 · 0 评论 -
redis数据库hash04
hash用于存储对象,对象的格式为键值对原创 2020-06-29 14:51:06 · 107 阅读 · 0 评论 -
Redis健操作命令03
查找键,参数支持正则127.0.0.1:6379> keys *1) "abcd"2) "a"3) "abc"127.0.0.1:6379> 判断键是否存在,如果存在返回1,不存在返回0127.0.0.1:6379> exists 'ddd'(integer) 0127.0.0.1:6379>查看键对应的value的类型127.0.0.1:6379> type 'a'string127.0.0.1:6379>删除键及对应的值127.0.原创 2020-06-29 12:47:29 · 134 阅读 · 0 评论 -
redis操作02
连接数据库redis-clidy@ding:~$ redis-cli127.0.0.1:6379> pingPONG127.0.0.1:6379> pingPONG127.0.0.1:6379> 常用命令设置键值127.0.0.1:6379> set 'abc' '123'OK127.0.0.1:6379>设置键值及过期时间,以秒为单位127.0.0.1:6379> setex 'abc1' 10 '1234'OK127.0.原创 2020-06-29 12:11:35 · 95 阅读 · 0 评论 -
mysql数据库聚合函数与排序、分页、完整的select语句
聚合为了快速得到统计数据,提供了5个聚合函数count(*)表示计算总行数,括号中写星与列名,结果是相同的查询学生总数select count(*) from students;max(列)表示求此列的最大值查询女生的编号最大值select max(id) from students where gender=0;min(列)表示求此列的最小值查询未删除的学生最小编号select min(id) from students where isdelete=0;sum(列)表示求此列原创 2020-06-23 21:26:10 · 242 阅读 · 0 评论 -
mysql数据库查询之分组查询
分组按照字段分组,表示此字段相同的数据会被放到一个组中分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中可以对分组后的数据进行统计,做聚合运算select 列1,列2,聚合... from 表名 group by 列1,列2,列3...查询男女生总数select gender as 性别,count(*)from studentsgroup by gender;查询各城市人数select hometown as 家乡,count(*)from studentsg原创 2020-06-23 21:20:26 · 445 阅读 · 0 评论 -
mysql查询
基本语法select * from 表名;在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中如果要查询多个列,之间使用逗号分隔在select后面列前使用distinct可以消除重复的行使用where子句对表中的数据筛选,结果为true的行会出现在结果集中select * from 表名 where 条件;比较运算符等于=大于>大于等于>=小于<小于等于<=不等于!=或<>查询编号大于3的学生select *原创 2020-06-23 20:35:47 · 111 阅读 · 0 评论 -
mysql数据操作
增加全列插入:主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准insert into 表名 values(...)缺省插入:insert into 表名(列1,...) values(值1,...)同时插入多条数据:insert into 表名 values(...),(...)...;或insert into 表名(列1,...) values(值1,...),(值1,...)...;查询select * from 表名修改u原创 2020-06-23 20:01:20 · 117 阅读 · 0 评论 -
mysql数据库操作:数据库、表创建
创建数据库create database 数据库名 charset=utf8;删除数据库drop database 数据库名;切换数据库use 数据库名;查看当前选择的数据库select database();表操作查看当前数据库中所有表show tables;创建表auto_increment表示自动增长create table 表名(列及类型);create table students(id int auto_increment primary key,s原创 2020-06-23 19:27:11 · 199 阅读 · 0 评论 -
mysql数据库操作:连接、
使用命令连接打开终端,运行命令mysql -uroot -p回车后输入密码连接成功后如下(h2) dy@ding:~$ mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 5.7.30-0ubuntu0.16.04.1 (Ubuntu)Copyright (c) 2000,原创 2020-06-23 18:56:56 · 144 阅读 · 0 评论 -
mysql数据库主要字段的类型、约束
主要字段的类型数字:int, decimal字符串:varchar, text日期:datetime布尔:bit约束主键primary key非空not null惟一unique默认default外键foreign key原创 2020-06-23 18:32:44 · 161 阅读 · 0 评论 -
mysql数据库的安装、启动、停止、重启、远程连接;mysql中如何创建远程登录用户
一路走来之mysql欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进原创 2020-06-23 15:23:25 · 166 阅读 · 0 评论