MySQL基本使用&结合PyMySQL使用

MySQL基本使用

  1. 下载安装MySQL

  2. 登录数据库

    mysql -uroot -p # 使用root用户登录

  3. 显示所有数据库

    show databases;

  4. 使用某一个数据库

    use 数据库名;

  5. 查询数据库中所有数据表

    show tables;

  6. 查看数据表中列信息
    desc 数据表;

    mysql> desc person;
    +-------+-------------+------+-----+---------+----------------+
    | Field | Type        | Null | Key | Default | Extra          |
    +-------+-------------+------+-----+---------+----------------+
    | id    | int         | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(10) | NO   |     | NULL    |                |
    +-------+-------------+------+-----+---------+----------------+
  7. 创建数据库

    create database 数据库名;

  8. 删除数据库
    drop database 数据库名;

  9. 创建数据表
    create table 数据表名(字段名,字段类型);

    # auto_increment定义为自增,一般用于主键,数值会自动+1
    # primary key用于定义主键
    # default charset 设置编码格式
    create table test(id int(10) not null auto_increment,
    name varchar(10) not null,
    age int(10) not null,
    primary key(id)) default charset=utf8;
    
  10. 删除数据表
    drop table 数据表名;

  11. 插入数据
    insert into 数据表名(key1, key2, key3...) values (value1, value2, value3...);

    insert into test(name, age) values ("张三", 18);
  12. 查询数据
    select * from 数据表名; # 查询数据表中所有内容
    select 列 from 数据库 where 条件 limit N; # 查询数据表中指定条件的内容(前N个数据)

    # 查询test中所有内容
    select * from test;
    
    # 查询test中id=1的name
    select name from test where id=1;
    
    # 查询test中age=33的前4个name
    select name from test where age=33 limit 4;
  13. 更新数据
    update 数据表名 set column1=value1, column2=value2..where 条件;

    # 更新test表中id=1时,name和age的值
    update test set name="李四", age=28 where id=1;
  14. 删除数据
    delete from 数据表名 where 条件;

    # 删除test表中所有内容,test表还存在,内容删除
    delete from test;
    
    # 删除test表中name="李四"的行
    delete from test where name="李四"
  15. order by用法
    select 查询字段 from 数据表名 order by 字段 desc/asc;

    #查询test表中name字段数据,并按照从大到小排序
    select name from test order by age desc;
    
    #查询test表中name字段数据,取最大数据
    select name from test order by age desc limit 1;
    
    #查询test表中name字段数据,并按照从小到大排序
    select name from test order by age asc;
  16. like用法
    select column from 数据表 where column like "%";

    # 查询test表中以x开头的name
    select name from test where name like "x%";
    
    # 查询test表中以d结尾的name
    select name from test where name like "%d";
  17. union用法
    连接两个以上的 select 语句的结果组合到一个结果集合中
    select column from table1 union select column from table2;

    # 从person表和test表中获取name的集合(删除重复数据)
    select name from person union select name from test;
    
    # 从person表和test表中获取name的集合(包含重复数据)
    select name from person union all select name from test;
  18. alter用法
    添加、删除、修改表的列/约束
    # 修改表名
    alter table person rename to t_person;
    
    # 添加age列
    alter table person add age int(10);
    
    # 删除age列
    alter table person drop age;
    
    # 修改age列名改为column_age
    alter table person change age column_age int(10);
    
    # 修改age列属性
    alter table person modify age int(20);
    
  19. MySQL事务
    commit  :提交事务,并使已对数据库进行的所有修改成为永久性的,默认情况下自动提交
    rollback :回滚事务,会结束用户的事务,并撤销正在进行的所有未提交的修改
    PyMySQL:connect.commit()    connect.rollback()

结合PyMySQL使用

import pymysql

# 数据库连接
con = pymysql.connect(
    host="localhost",
    user="root",
    password="123456",
    port=3306,
    database="mydb"
)

# 创建游标
cur = con.cursor()

# 执行sql语句
sql = "select * from test;"
cur.execute(sql)

# 获取结果
result = cur.fetchall()
print(result)

# 关闭连接
cur.close()
con.close()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值