python+数据库(四)python操作数据库的基本操作语言总结

mysql操作语言:

打开:

以管理员身份打开命令窗口,运行指令:

net start mysql   #运行数据库

mysql -u root -p   #进入数据库

net stop mysql     #停止数据库

exit                      #退出

mysql -u root -p password  #设置数据库密码

select * from mysql.user; #查看数据库信息

show variables like '%char%'; #显示编辑信息(utf8)

创建操作通过 INSERT语句来完成;

查询操作通过SELECT语句来完成;

更新操作通过UPDATE语句来完成,如果数据库支持,还可以通过REPLACE语句来完成;

删除操作通过DELETE语句来完成;

游标:创建一个游标来执行查询操作:

(DB-API协议、隔离、主键和外键)

python操作数据库的基本语言指令:

SQL命令的使用规则:
      每条命令必须以;结尾
       SQL命令不区分字母大小写
       使用\c终止当前命令的执行
 库的管理:
      show databases ;         #查看已有的库
      create database 库名 [character set utf8];    #创建库(指定字符集)
      show create databases 库名;    #查看创建库的语句
      select databases();   #查看当前所在库
      use 库名;   #切换库
      show tables;   #查看库中已有表
      drop databases 库名;   #删除库
库名的命名规则:
       可以使用数字,字母,_,但是不能为纯数字
       库名区分字母大小写
       库名具有唯一性
       不能使用特殊字符和mysq1关键字

表的管理:
      表的基本操作
     a.创建表:
       create table 表名(
        字段名1    数据类型,
        字段名2    数据类型,
        字段名3    数据类型
        );
      b.查看创建表的语句(字符集,存储引擎)
         show create table 表名;
      c.查看表结构
          desc 表名;
      e.删除表
           drop table 表名;
注意:
      1.所有的数据都是以文件的形式存放在数据库目录下
      2.数据库目录:/var/lib/mysql
表记录的管理:
    1.在表中插入记录.
      1.insert into 表名 values(值1),(值2),....;
      2.insert into 表名(字段名1,字段名2,....)values(值1),(值2),....;
    2.查询表记录
      1.select * from 表名[where 条件];
      2.select 字段名1,字段名2.....from 表名 [where条件];
   
如何更改库的默认字符集:
    1.方法
      通过更改MySQL的配置文件实现
    2.步骤
      1.获取root权限
        sudo -i
      2.备份mysql的配置文件
        cd /etc/mysql/mysql.conf.d/
        cd mysqld.cnf mysqld.cnf.bak
      3.修改配置文件
        vi mysqld.cnf
          在[mysqld]下面添加:character_set_server = utf8
      4.重启MySQL服务/重新加载配置文件(reload???)
       /etc/init.d/mysql restart|reload?????
      5.创建库验证默认字符集是否为utf8
客户端把数据存储到数据库服务器上的过程:
  1.先链接到数据库服务器 mysql -h ... -u ... -p...
  2.选择库 use 库名
  3.创建表/修改表
  4.断开与数据库服务器的链接 exit;|quit;|\q


数据类型:
  1.数值类型:
    1整形:
      1.int大整形(4个字节) 取值范围(0~2**32-1)(大概在42亿多)
      2.tinyint微小整形(1个字节)
        有符号(signed默认):取值范围(-128~127)
        无符号(unsigned):取值范围(0~255)
      3.smallint小整形(2个字节)
      4.bigint极大整形(8个字节)0~2**64-1
    2浮点型
      1.float(4个字节,最多显示7个有效位)
        用法:字段名 float(m,n) m:总位数  n:小数位位数
          float(5,2)  取值范围 999.99 ~ -999.99
        注意:浮点型插入整数时会自动补全小数位
              小数位如果多余指定位数,会对下一位四舍五入
      2.double(8个字节,最多显示15个有效位)
      3.decimal (最多显示28个有效位)
        1.字段名 decimal(m,n)
        2存储空间(整数部分和小数部分分开存储)
          规则:将9位数字的倍数包装成4个字节
          即:对于每个部分,需要4个字节来存储9位数的每个倍数,
              剩余数字所需要的存储空间如下表:
                 剩余数字       字节
                    0             0
                   1-2            1
                   3-4            2
                   5-6            3
                   7-9            4
             示例:decimal(19,9)
               整数部分:19/9商2余1 4个字节+1字节=5字节
               小数部分:9/9商1余0  4字节+0字节=4字节
  2.字符类型
    1.char(固定长度)
      1.宽度取值范围:1~255
      2.不给定宽度默认为1
    2.varchar(变长)
      1.取值范围:1~65535
    3.char和varchar的特点
      1.char:浪费存储空间,但是性能高
      2.varchar:节省存储空间,但是性能低
    4.text/longtext(4g)/blob/longblob(4g)
    5.字符类型的宽度和数值类型的宽度的区别
      1.数值类型的宽度为显示宽度,仅仅用于select查询时显示
        和占用的存储空间大小无关,可用zerofill查看效果  
      2.字符类型的宽度超过则无法存储
  3.枚举类型(字段值只能在列举的范围内选择)
    1.单选(最多65535个不同值)
      字段名 enum(值1,值2,.......,值n)
    2.多选(最多64个不同值)
      字段名 set(值1,值2,.......,值n)
  4.日期时间类型
    1.year:年    xxxx
    2.date:日期  xxxx
    3.time:时间  xxxx
    4.datetime
      timestamp:日期时间 
      
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值