数据库的类型

数据库分为关系数据库和非关系数据库

关系数据库有:

  • Mysql
  • postgreSQL
  • SQLite

非关系型数据库

  • MongoDB Riak
  • Apache
  • CouchDB

三大范式

第一范式(1NF)无重复的列 一个列不能有多个值。name(name,name2)
第二范式(2NF)属性完全依赖于主键 普通字段完全依赖于主键字段 (学号。学生姓名,年龄,家庭地址,邮编)(学号 ,家庭,地址)
第三范式(3NF)属性不依赖于其他的非主属性 普通字段不能依赖于其他普通字段。一个表就是一个对象的强依赖属性
(学号。学生姓名,年龄)()家庭地址,邮编)

常用的SQL语句

  1. 选择:select * from table1 where 范围;
  2. 插入:insert into table1(field1,field2) values(value1,value2);
  3. 删除:delete from table1 where 范围;
  4. 更新:update table1 set field1=value1 where 范围;
  5. 查找:select * from table1 where field1 like ’n%value1%’;
    select * from user where name=“123” and id =1
  6. 排序:select * from table1 order by field1,field2 [desc];
  7. 总数:select count as totalcount from table1;
  8. 求和:select sum(field1) as sumvalue from table1;
  9. 平均:select avg(field1) as avgvalue from table1;
  10. 最大:select max(field1) as maxvalue from table1;
  11. 最小:select min(field1) as minvalue from table1;
  12. SELECT * FROM text_1 LEFT JOIN school ON text_1.id=school.id;

列举的SQL语句

1.select 某列,某列 from table;
2.select distinct 某列 from table; 列出不同(distinct)的值。
3.select 列名称 from 表名称 where 列 运算符 值;条件查询(运算符:= <> >= between like)
4.select * from table where name='asdf’and id=1;and运算符实例
5.select * from table where (name=‘dasdf’ or id=23) and a_id=‘23’;or+and混合运算符
6.select * from table order by 列名称; order by 排序
7.insert into table values (‘值’,‘值’ ,‘值’,‘值’);插入新的行
8.insert into table (列名称,列名称) values (‘值’,‘值’);给指定列插入数据
9.update table set 列名称=新值,列名称=新值 where id=2; Update修改表中的数据。
10.delete from table where id=1; 删除某行
11.delete from table;删除所有行
SQL 高级语法
12.select * from table limit 5;取5条
13.select top 2 * from table;取前两条
14.select top 50 percent * from table;取50%数据
15.select * from table where 列名称 like ‘n%’;"%" 可用于定义通配符(模式
中缺少的字母)。%:替代一个或多个字符。_:仅替代一个字符.
16.select * from table where id in (1,2,3,4); IN 操作符
17.select * from table where id between BETWEEN 操作符
18.select * from table_name as alias_name; SQL Alias(别名)
19.select a.id,a.name,b.time from table1 as a left join table2 as b
where a.id=b.uid oder by a,id desc;

JOIN

select t_user.name as name,t_school.name as sname from t_user left t_school on t_user.name=t_school.name;

下面累出来您可能使用的JOUN类型。以及它们的差异
join(inner join):如果表中有至少一个匹配。则返回行。
left join 即使右表中没有匹配。也从左表中返回所有的行
right join 即使左表中没有匹配。也从右表中返回所有的行
full join (全集)只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

关系式的API

connect () 创建链接
close() 关闭数据库链接
commit() 提交
rollback() 回滚/取消当前

Pymql的常用方法

conn = pymysql.connect(host=‘127.0.0.1’, port=3306, user=‘root’, passwd=’’, db=‘students’)
cursor = conn.cursor()
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

cursor.execute(“select * from students”)
fetchone()返回第一个

#无参数存储过程
cursor.callproc(‘Pro_Search’) #等价于cursor.execute(“call Pro_Search()”)
#有参数的形式
cursor.callproc(‘Pro_Search’, args=(1, 22, 3, 4)

事物的处理
conn.commit() #事物的提交
conn.rollback() # 事物的回滚

数据库和python的结合
db=pymysql.connect(host=‘127.0.0.1’,user=‘zkx’,password=‘123’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值