数据库(mysql)


此blog主要讲述博主学习数据库的过程

1. 安装mysql

2. python来主导操作数据库

3. 看书《Mysql必知必会》

  1. 基本的打开
# 连接数据库,提供主机名,端口,用户名
# 选择数据库 USE crashcourse;
# 查看数据库 SHOW DATABASES;

2. 检索的相关语句

# 检索列或者多个列 
SELECT column_name1,column_name2,column_name3 FROM table_name;
# 检索不同的行(去重)
SELECT DISTINCT column_name FROM table_name;

3. 排序检索数据

# 以某列排序数据 
SELECT prod_name FROM products ORDER by prod_name
# 按多个列排序(先按prod_price排序,若有相同的再按prod_name排序)
SELECT prod id,prod_price,prod_name
FROM products
ORDER BY prod_price, prod_name;
# 默认是升序,若降序排序在后面加DESC
SELECT prod id,prod_price, prod_name
FROM products
ORDER BY prod_price DESC;
# 只返回数据库中最大的数据(LIMIT 1)
SELECT prod_price
FROM products
ORDER BY prod _price DESC
LIMIT 1;

4. where 进行数据过滤

# 指定条件过滤
SELECT prod name,prod_price
FROM products
WHERE prod_price=2.50;
# 不匹配检查
SELECT vend id, prod_name
FROM products
WHERE vend id <> 1003;
# 范围值检查
SELECT prod name, prod price
FROM products
WHERE _prOd price BETWEEN 5 AND 10
# 增加逻辑操作符
SELECT prod id,prod_price, prod_name
FROM products
WHERE vend id=1003 AND prod_price <= 10;

SELECT prod name, prod_price
FROM products
WHERE vend id=1002 0R vend id = 1003;
# IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配
SELECT prod name, prod_price
FROM products
WHERE vend id IN(1002,1003)
ORDER BY prod_name;
# NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件
SELECT prod name, prod_price
FROM products
WHERE vend id NOT IN(1002,1003)
ORDER BY prod name;

5. 使用通配符进行过滤

# 百分号(%)通配符,在搜索串中,%表示任何字符出现任意次数
SELECT prod id, prod_name
FROM products
WHERE prod name LIKE 'jet%';
# 将检索任意以jet起头的词。%告诉MySQL接受jet之后的任意字符

# 通配符可在搜索模式中任意位置使用,并且可以使用多个通配符
SELECT prod id, prod_name
FROM products
WHERE prod name LIKE '%anvi1%';
# '%anvil%'表示匹配任何位置包含文本anvil的值,而不论它之前或之后出现什么字符

# 下划线(_)通配符
SELECT prod_id, prod_name
FROM products
WHERE prod name LIKE '_ ton anvi7';

# 通配符好用,但是搜索所耗费的时间长

6. 正则表达式(比较复杂,建议用到的时候查找语句)

7. 创建计算字段

# 拼接字段用concat,返回就是一行行字符串
SELECT Concat(vend_name,'(',vend_country,')')
FROM vendors
ORDER BY vend name;

# 计算总价并且显示出来
SELECT prod_id,
quantity,
item_price
quantity*item_price AS expanded price
FROM orderitems
WHERE order_num=20005;

实践部分

1月14日

通过数据库的简单学习,本人就已经通过python web搭建了一个简易的网站,在这个网站里面人们可以记录学习和生活,随时记录,随时查询,还有kimi小助手对你的生活学习状况进行点评

添加成员

添加事件(写日记)

查看之前添加的事件

向kimi寻求帮助(例子中12是我创建的一个名字,他的症状是头晕目眩)

桂ICP备2024049770号