日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql的student是什么意思_复习mysql

發布時間:2023/12/10 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql的student是什么意思_复习mysql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、復習詳盡如下:

創建一個test庫

create database test;

授權一個用戶

grant all privileges on *.* to 'xiang'@'%' identified by '1qaz@WSX';

創建表

create table student(id int not null);

查詢

select * from tabel_name where 條件1 and 條件2

增加

insert into table_name (id, name, age, sex, grander) values (1, 'ling', 25, 'M', 99), (2, 'ajing', 45, 'F', 88);

update table_name set id=10 where 條件判斷

刪除

delete from table_name where 條件判斷

drop table table_name

聯合查詢

select a.id, b.name from A a join B b on a.id=b.tid

創建索引

create index idx_庫名_表名_列名1_列名2 (列名1, 列名2)

查看sql是否走索引

explain select * from student where name='ling'

鏈接數據庫

Python2 使用的是MySQLdb

python3 使用的pymysql pip安裝

1. 創建鏈接和游標

注意:在mysql連接中,盡量使用一個連接,確保mysql的并發數

conn = pymysql.connect(host='', port=, user='', passwd='', db='')

cus = conn.curse()

2. 實行sql

sql = "select * from Student;"

cus.execute(sql)

cus.fetchone() 獲取單個 返回值 tuple

cus.fetchall() 獲取多個 返回值 list(單個元素是tuple)

cus.fetchmany(size=n) 獲取多個

3. 關閉游標和連接

cus.close()

conn.close()

注意結合try exception finally的使用

SQLAlchemy

1. 創建引擎

engine = create_engine('mysql+pymysql://username:password@hostname:port/db')

2. 創建session

DBsession = sessionmaker(bind=engine)

session = DBsession()

3.創建表

a. 獲得engine

b. metadata = MetaData(engine)

c. student = Table('表名', metadata, Colume('id', Integer, primary_key=True), Colume('name', String(50))

d. metadata.create_all()

4.增加

a. 先要有一個模型

Base = declarative_base(0

class Student(Base):

__tablename__ = 'student'

id = Column(Integer, primary_key=True)

name = Column(String(100), primary_key=True)

b. 導入模型類,實例化該類,

sutdent1 = Student(1, 'ling')

c. session.add(單實例) session.add_all([實例1, 實例2])

5. 查詢

filter和filter_by的區別

filter:可以使用> < 等,但是列必須是: 表.列, filter的等于號是==

session.query(Student).filter(Student.id>100)

filter 不支持組合查詢

session.query(Student).filter(Studnet.id>100).filter(name=='ling')

filter_by: 可以直接寫列,不支持< > filter_by 等于是==

session.query(Student).filter_by(id==10)

filter_by 可以支持組合查詢

session.query(Student).filter_by(name=='ling' and id=='342')

select * from student where name like '%ling%';

模糊查詢含有ling的關鍵字

模糊查詢

session.query(Student).filter(Student.name like('%ling%'))

獲取數據的時候有兩個方法:

one() tuple

all() list(單個元素是tuple)

如果在查詢中不寫one(), 或者all() 出來的就是sql語句

6. 更新

1. 先查出來

2. 跟新一下類所對應的屬性值就ok

3. session.commit()

student1 = session.query(Student).filter(Student.id==1001)

student1.name = "test"

session.commit()

7. 刪除

1. 先查出來

2. 直接調用delete()方法就可以

3. 提交一下

8.統計, 分組,排序

統計:count()

只需要在查出來以后, 把one或者all替換成count()

統計有多少個

分組:group_by

查出來以后,把one或者all替換成group_by(屬性)

二、課堂案例如下

from sqlalchemy import create_engine, Integer, String, Column

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy.orm import sessionmaker

Base = declarative_base()

class Student(Base):

__tablename__ = 'student'

id = Column(Integer, primary_key=True)

name = Column(String(100))

age = Column(Integer)

address = Column(String(100))

def update(session):

student1 = session.query(Student).filter(Student.id == 1001).one()

student1.name='test123'

session.commit()

student2 = session.query(Student).filter(Student.id == 1001).one()

print(student2.name)

def delete(session):

session.query(Student).filter(Student.id == 1001).delete()

session.commit()

def insert(session):

student1 = Student(id=1004, name='ling', age=28, address='shanxi')

session.add(student1)

session.commit()

def count(session):

numnber = session.query(Student).filter().count()

print("total student is {0}".format(numnber))

def groupBy(session):

groupByAge = session.query(Student).group_by(Student.age).all()

print(groupByAge)

for i in groupByAge:

print(i.id, i.name, i.age, i.address)

def orderBy(session):

orderByAge = session.query(Student).order_by(Student.age.desc()).all()

for x in orderByAge:

print(x.id, x.name, x.age, x.address)

def main():

engine = create_engine('mysql+pymysql://xiang:xiang@192.168.48.136/sqlalchemy')

DBsession = sessionmaker(bind=engine)

session = DBsession()

# insert(session)

# update(session)

# delete(session)

# count(session)

# groupBy(session)

orderBy(session)

if __name__ == '__main__':

main()

總結

以上是生活随笔為你收集整理的mysql的student是什么意思_复习mysql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。