sql 基础

1. 建立数据库连接

#cunnect() 若数据库文件存在则打开,若不存在则创建

import aqlite3
connect = sqlite3.connect('database.db)

####### 创建表的sql语句 ########

  1. # CREATE TABLE 表名(字段1 字段类型 约束条件, 字段2 ......)
  2. # INTEGER 无符号整型
  3. # CHAR 字符
  4. # VARCHAR 字符 默认可以存储字符串长度255
  5. # TEXT 字符文本 可以存储大量文本数据
  6. # PRIMARY KEY 主键约束 默认唯一,非空
  7. # NOT NULL 非空约束
  8. # UNIQUE 唯一约束
  9. # IF NOT EXISTS 若表不存在就创建表

# 例如学员管理系统中,可以把学号/身份证号作为主键
# 准备要执行的SQL语句

sql = "CREATE TABLE IF NOT EXISTS student(s_id INTEGER PRIMARY KEY,name CHAR NOT NULL,phone INTEGER UNIQUE)"

 

2.获取游标,游标用来操作sql语句执行的

cursor = connect.cursor()

 

3.执行sql语句

cursor.execute(sql)

1.插入数据的sql语句

  INSERT INTO 表名(字段名1、字段名2...) VALUES(值1,值....)
insert_sql = "INSERT INTO student(s_id,name,phone)VALUES(072503,'王五',110)"
  执行插入数据的sql语句
cursor.execute(insert_sql)

2.修改数据库中的数据,修改SQL语句

  UPDATE 表名 SET 修改的字段1=修改的值 WHERE 修改的条件
update_sql = "UPDATE student SET name='小明',phone=120 WHERE s_id=72501"
cursor.execute(update_sql)

3.删除数据库中的数据

  DELETE FROM 表名 WHERE 删除的条件
del_sql = "DELETE FROM student" # 删除表中所有数据
del_sql = "DELETE FROM student WHERE name='李四'"  # 删除单条
cursor.execute(del_sql)

4.读取数据库中的数据

  * 表示所有字段
      SELECT * FROM 表名 WHERE 查询的条件
  可以指定获取某些字段数据      
      SELECT name,phone FROM 表名 WHERE 查询条件
select_sql = "SELECT name, phone FROM student"
   执行查询语句会返回一个结果集  
result = cursor.execute(select_sql)
print(result)
    遍历查询结果
for x in result:
    # x就是查询到的数据,是一个小元组,元组中存放的是每一个字段的数据
    print(x)

        提交操作 

connect.commit()

4.关闭游标

cursor.close()

5.关闭连接

connect.close()

~~~附~~~

1.创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

2.删除表
drop table tabname

3.查询:select * from table1 where 范围

4.插入:insert into 表名(字段名1,字段名2) values(值1,值2)

5.删除:delete from table1 where 范围

6.修改:update 表名 set 修改的字段名=修改的字段值 where 范围

7.查找:select * from table1 where field1 like ’%value1%’ N%匹配以N开头     %N匹配以N结尾   %N%匹配包含N  
    [a,b]% 以a或b开头     %[a,b]以a或b结尾

    select * from table1 where field1 like 'z_'以z开头且匹配之后一个字符

    升序输出数据记录
    select * from table_name order by field asc
    降序输出数据记录
    select * from table_name order by field desc

9.总数:select count (*) from table_name;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值