时间:2021-07-01 10:21:17 帮助过:9人阅读
- show databases;
默认数据库:
mysql - 用户权限相关数据
test - 用于用户测试数据
information_schema - MySQL本身架构相关数据
2.创建数据库
- # utf<span style="color: #808080;">-</span><span style="color: #800000; font-weight: bold;">8</span><span style="color: #000000;"> (推荐使用)
- </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;
- # gbk
- </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.删除数据库
- <span style="color: #0000ff;">drop</span> <span style="color: #0000ff;">database</span> 数据库名称;
4.使用数据库
- <span style="color: #0000ff;">use</span> 数据库名称;
1.显示表
- show tables; <span style="color: #008080;">--</span><span style="color: #008080;">-显示表</span>
- <span style="color: #0000ff;">desc</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-显示表字段</span>
2.创建表
- <span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> 表名(
- 列名 类型 是否可以为空,
- 列名 类型 是否可以为空
- )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
- </span><span style="color: #008080;">--</span><span style="color: #008080;"> InnoDB为数据库引擎的一种,支持事务操作</span>
是否可以为空
- <span style="color: #000000;">是否可空,null表示空,非字符串
- </span><span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span> <span style="color: #808080;">-</span><span style="color: #000000;"> 不可空
- </span><span style="color: #0000ff;">null</span> <span style="color: #808080;">-</span> 可空
默认值
- <span style="color: #000000;">创建列时可以指定默认值,当插入数据时如果未主动设置值,则自动添加默认值
- </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
- 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;">,
- num </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
- )</span>
自增
- <span style="color: #000000;">自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)
- </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
- 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;">,
- num </span><span style="color: #0000ff;">int</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
- )
- 或
- </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
- 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,
- num </span><span style="color: #0000ff;">int</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
- </span><span style="color: #0000ff;">index</span><span style="color: #000000;">(nid)
- )
- 注意:</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">、对于自增列,必须是索引(含主键)。
- </span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">、对于自增可以设置步长和起始值
- 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;">;
- </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;">;
- </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;">;
- 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;">;
- </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;">;
- </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>;
主键
- <span style="color: #000000;"> 主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
- 主键的好处:约束,加速查找
- </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
- 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;">,
- num </span><span style="color: #0000ff;">int</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">
- )
- 或
- </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> tb1(
- nid </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
- num </span><span style="color: #0000ff;">int</span> <span style="color: #808080;">not</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">,
- </span><span style="color: #0000ff;">primary</span> <span style="color: #0000ff;">key</span><span style="color: #000000;">(nid,num)
- )</span>
外键
- <span style="color: #000000;">外键,一个特殊的索引,只能是指定内容
- creat </span><span style="color: #0000ff;">table</span><span style="color: #000000;"> color(
- 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;">,
- 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;">
- )
- </span><span style="color: #0000ff;">create</span> <span style="color: #0000ff;">table</span><span style="color: #000000;"> fruit(
- 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;">,
- 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;"> ,
- 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;">,
- </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)
- )</span>
外键示例:创建一张学生信息表和一张班级信息表,将学生表中的class_no和班级表中的nid相关联
建立外键约束
相当于将学生表中的class_no和班级表中的nid约束起来
当再向student表中插入数据时,如果class_no不在class表的nid的值域内,则报错
3.删除表
- <span style="color: #0000ff;">drop</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-直接删除表</span>
- <span style="color: #0000ff;">delete</span> <span style="color: #0000ff;">from</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-清空表内容</span>
- <span style="color: #0000ff;">truncate</span> <span style="color: #0000ff;">table</span> 表名; <span style="color: #008080;">--</span><span style="color: #008080;">-清空表内容,速度快,有自增时清空表后插入数据会重新开始编号</span>
4.查询表
- <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.修改表
- 添加列:<span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 <span style="color: #0000ff;">add</span><span style="color: #000000;"> 列名 类型
- 删除列:</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;"> 列名
- 修改列:
- </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>
- <span style="color: #0000ff;">alter</span> <span style="color: #0000ff;">table</span> 表名 change 原列名 新列名 类型; <span style="color: #008080;">--</span><span style="color: #008080;"> 列名,类型</span>
- <span style="color: #000000;">
- 添加主键:
- </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;">(列名);
- 删除主键:
- </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;">;
- </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;">;
- 添加外键:</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;"> 主表(主键字段);
- 删除外键:</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;"> 外键名称
- 修改默认值:</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;">;
- 删除默认值:</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