当前位置:Gxlcms > 数据库问题 > Python学习—数据库篇之SQL语句

Python学习—数据库篇之SQL语句

时间:2021-07-01 10:21:17 帮助过:9人阅读

  1. show databases;

默认数据库:
  mysql - 用户权限相关数据
  test - 用于用户测试数据
  information_schema - MySQL本身架构相关数据

2.创建数据库

  1. # utf<span style="color: #808080;">-</span><span style="color: #800000; font-weight: bold;">8</span><span style="color: #000000;"> (推荐使用)
  2. </span><span style="color: #0000ff;">CREATE</span> <span style="color: #0000ff;">DATABASE</span> 数据库名称 <span style="color: #0000ff;">DEFAULT</span><span style="color: #000000;"> CHARSET utf8 COLLATE utf8_general_ci;
  3. # gbk
  4. </span><span style="color: #0000ff;">CREATE</span> <span style="color: #0000ff;">DATABASE</span> 数据库名称 <span style="color: #0000ff;">DEFAULT</span> <span style="color: #0000ff;">CHARACTER</span> <span style="color: #0000ff;">SET</span> gbk COLLATE gbk_chinese_ci;

3.删除数据库

  1. <span style="color: #0000ff;">drop</span> <span style="color: #0000ff;">database</span> 数据库名称;

4.使用数据库

  1. <span style="color: #0000ff;">use</span> 数据库名称;

二、表级别

1.显示表

  1. show tables; <span style="color: #008080;">--</span><span style="color: #008080;">-显示表</span>
  2. <span style="color: #0000ff;">desc</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-显示表字段</span>

2.创建表

  1. <span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> 表名(
  2. 列名 类型 是否可以为空,
  3. 列名 类型 是否可以为空
  4. )ENGINE</span><span style="color: #808080;">=</span>InnoDB <span style="color: #0000ff;">DEFAULT</span> CHARSET<span style="color: #808080;">=</span><span style="color: #000000;">utf8
  5. </span><span style="color: #008080;">--</span><span style="color: #008080;"> InnoDB为数据库引擎的一种,支持事务操作</span>
技术图片
  1. <span style="color: #000000;">是否可空,null表示空,非字符串
  2. </span><span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> <span style="color: #808080;">-</span><span style="color: #000000;"> 不可空
  3. </span><span style="color: #0000ff;">null</span> <span style="color: #808080;">-</span> 可空
是否可以为空 技术图片
  1. <span style="color: #000000;">创建列时可以指定默认值,当插入数据时如果未主动设置值,则自动添加默认值
  2. </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
  3. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> defalut <span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">,
  4. num </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
  5. )</span>
默认值 技术图片
  1. <span style="color: #000000;">自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)
  2. </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
  3. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> auto_increment <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">,
  4. num </span><span style="color: #0000ff;">int</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
  5. )
  6. </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
  7. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;"> auto_increment,
  8. num </span><span style="color: #0000ff;">int</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
  9. </span><span style="color: #0000ff;">index</span><span style="color: #000000;">(nid)
  10. )
  11. 注意:</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">、对于自增列,必须是索引(含主键)。
  12. </span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">、对于自增可以设置步长和起始值
  13. show session variables </span><span style="color: #808080;">like</span> <span style="color: #ff0000;">‘</span><span style="color: #ff0000;">auto_inc%</span><span style="color: #ff0000;">‘</span><span style="color: #000000;">;
  14. </span><span style="color: #0000ff;">set</span> session auto_increment_increment<span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">;
  15. </span><span style="color: #0000ff;">set</span> session auto_increment_offset<span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">10</span><span style="color: #000000;">;
  16. shwo global variables </span><span style="color: #808080;">like</span> <span style="color: #ff0000;">‘</span><span style="color: #ff0000;">auto_inc%</span><span style="color: #ff0000;">‘</span><span style="color: #000000;">;
  17. </span><span style="color: #0000ff;">set</span> global auto_increment_increment<span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">;
  18. </span><span style="color: #0000ff;">set</span> global auto_increment_offset<span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">10</span>;
自增 技术图片
  1. <span style="color: #000000;"> 主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
  2. 主键的好处:约束,加速查找
  3. </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
  4. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> auto_increment <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">,
  5. num </span><span style="color: #0000ff;">int</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
  6. )
  7. </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
  8. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
  9. num </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
  10. </span><span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">(nid,num)
  11. )</span>
主键 技术图片
  1. <span style="color: #000000;">外键,一个特殊的索引,只能是指定内容
  2. creat </span><span style="color: #0000ff;">table</span><span style="color: #000000;"> color(
  3. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">,
  4. name </span><span style="color: #0000ff;">char</span>(<span style="color: #800000; font-weight: bold;">16</span>) <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
  5. )
  6. </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> fruit(
  7. nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">,
  8. smt </span><span style="color: #0000ff;">char</span>(<span style="color: #800000; font-weight: bold;">32</span>) <span style="color: #0000ff;">null</span><span style="color: #000000;"> ,
  9. color_id </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
  10. </span><span style="color: #0000ff;">constraint</span> fk_cc <span style="color: #0000ff;">foreign</span> <span style="color: #0000ff;">key</span> (color_id) <span style="color: #0000ff;">references</span><span style="color: #000000;"> color(nid)
  11. )</span>
外键

外键示例:创建一张学生信息表和一张班级信息表,将学生表中的class_no和班级表中的nid相关联

技术图片

技术图片

技术图片

技术图片

建立外键约束

技术图片

相当于将学生表中的class_no和班级表中的nid约束起来

技术图片

当再向student表中插入数据时,如果class_no不在class表的nid的值域内,则报错

技术图片

3.删除表

  1. <span style="color: #0000ff;">drop</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-直接删除表</span>
  2. <span style="color: #0000ff;">delete</span> <span style="color: #0000ff;">from</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-清空表内容</span>
  3. <span style="color: #0000ff;">truncate</span> <span style="color: #0000ff;">table</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-清空表内容,速度快,有自增时清空表后插入数据会重新开始编号</span>

4.查询表

  1. <span style="color: #0000ff;">select</span> <span style="color: #808080;">*</span> <span style="color: #0000ff;">from</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">--查询表内容</span>

5.修改表

  1. 添加列:<span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 <span style="color: #0000ff;">add</span><span style="color: #000000;"> 列名 类型
  2. 删除列:</span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 <span style="color: #0000ff;">drop</span> <span style="color: #0000ff;">column</span><span style="color: #000000;"> 列名
  3. 修改列:
  4. </span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 modify <span style="color: #0000ff;">column</span> 列名 类型; <span style="color: #008080;">--</span><span style="color: #008080;"> 类型</span>
  5. <span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 change 原列名 新列名 类型; <span style="color: #008080;">--</span><span style="color: #008080;"> 列名,类型</span>
  6. <span style="color: #000000;">
  7. 添加主键:
  8. </span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 <span style="color: #0000ff;">add</span> <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">(列名);
  9. 删除主键:
  10. </span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 <span style="color: #0000ff;">drop</span> <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">;
  11. </span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 modify 列名 <span style="color: #0000ff;">int</span>, <span style="color: #0000ff;">drop</span> <span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">;
  12. 添加外键:</span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 从表 <span style="color: #0000ff;">add</span> <span style="color: #0000ff;">constraint</span> 外键名称(形如:FK_从表_主表) <span style="color: #0000ff;">foreign</span> <span style="color: #0000ff;">key</span> 从表(外键字段) <span style="color: #0000ff;">references</span><span style="color: #000000;"> 主表(主键字段);
  13. 删除外键:</span><span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 <span style="color: #0000ff;">drop</span> <span style="color: #0000ff;">foreign</span> <span style="color: #0000ff;">key</span><span style="color: #000000;"> 外键名称
  14. 修改默认值:</span><span style="color: #0000ff;">ALTER</span> <span style="color: #0000ff;">TABLE</span> testalter_tbl <span style="color: #0000ff;">ALTER</span> i <span style="color: #0000ff;">SET</span> <span style="color: #0000ff;">DEFAULT</span> <span style="color: #800000; font-weight: bold;">1000</span><span style="color: #000000;">;
  15. 删除默认值:</span><span style="color: #0000ff;">ALTER</span> <span style="color: #0000ff;">TABLE</span> testalter_tbl <span style="color: #0000ff;">ALTER</span> i <span style="color: #0000ff;">DROP</span> <span style="color: #0000ff;">DEFAULT</span>;

 

Python学习—数据库篇之SQL语句

标签:not   schema   hid   primary   报错   注意   数据库   important   lap   

人气教程排行