美文网首页
Python 高级 14(2)数据库增删改查

Python 高级 14(2)数据库增删改查

作者: Cestine | 来源:发表于2018-11-28 19:29 被阅读0次

数据表操作、DDL 数据表的增删改、DML 数据表中数据的增删改、MySQL 常用字段类型

2.4 数据表操作

学习目标

  1. 能够熟练对数据表进行创建,修改,删除等操作

  2. 能够说出什么是约束

  3. 能够说出有哪些约束

--------------------------------------------------------------------------------

2.4.1 数据表操作介绍

和数据库操作一样,在数据表在操作中,也是是围绕增删改查来操作。

但是在这一章节主要讲解数据表的增删改操作。

查询操作是数据库中最为重要的操作。会单独一章节讲解。

2.4.2 数据表操作

DDL 数据表的增删改总结:

  <1>显示所有的数据表

      show tables;

  <2>创建数据表

      create table 表名( 字段名 字段类型,[字段名 字段类型]…);

  <3>显示表创建信息

      show create table 表名;

  <4>添加字段

      alter table 表名 add 字段名 字段类型;

  <5>删除字段

      alter table 表名 drop 字段名;

  <6>修改字段数据类型

      alter table 表名 modify 字段名 字段数据类型;

    <7>修改字段名和数据类型

      alter table 表名 change 旧字段名  新字段名 字段类型;

    <8>显示数据表的结构

      desc 表名;

  <9>删除数据表

      drop table 表名;

DML 数据表中数据的增删改总结:

  <1>查询数据表内的数据 就是通过客户端通过 DBMS 从数据库中取出满足条件的数据。

      语法:select 字段名列表 from 表名;查询指定字段的数据

      语法:select * from 表名;查询数据表的全部数据

      select * from stu;

  <2>向数据表中插入数据

      语法:insert into 表名 [(字段名列表, ...)] values(值列表, ...)

        插入所有字段数据(可以不指定插入的字段,直接写入插入的数据)

          ■ insert into tStudent values(1,'tom',20)

      插入指定字段(可以插入指定的字段,指定字段顺序和列中顺序可以不同,值顺序要和指定的列顺序相同。)

          ■ insert into stu(sage,sname) values(20,'jack');

      插入多条数据

          ■  insert into stu values(2,'rose',20),(3,'tony',22);

  <3>修改数据表内的数据 根据指定的条件,修改更新满足条件的数据

      语法: update 表名 set 字段=值 [条件] (如果不设置条件默认更新全部)

      注意:

如果修改数据为空null的值,使用where 字段名 is null 或者 where 字段名 is not null 或者 where not 字段名 is null

不能用where id=null

  1>更新所有的数据

      update stu set sAge=25;

  2>更新满足条件的数据

      update stu set sname='alice' where name='tony';

  <4>将数据从数据表中删除

      语法1:truncate 表名

      语法2:delete from 表名 [条件] (如果不设置条件默认删除全部)

      删除全部数据 truncate 表名

          ■ truncate stu;

          ■ 注意:

不经事务,删除不可恢复

不需要加条件,也不能加条件,删除全部数据,重置自动编号到默认值,没有事务,速度快。

  删除全部数据delete from 表名;

      delete from stu;

      注意:

可以用在事务操作中,在事务中没有提交时,可撤消

相当于 truncate stu,但是delete操作有事务操作,所以速度慢,而且不会重置自动编号。

    删除满足条件的数据

      delete from 表名 [条件]

      delete from stu where snumber = 1;

详解:

  查看表 作用:查看所选数据库中所有的表 语法: show tables;

      show tables;

  创建表 作用:在数据库中创建一张新表 语法: create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型……);

      create table stu(sid int,sname char(20),sage int);

  显示创建表信息 作用:用来显示创建表时的信息 语法:show create table 表名;

      语法1:show create table 表名;

      以表格的形式显示,窗口太小排版乱

          ■ show create table stu;

      语法2:show create table 表名 \G

      使用\G,格式化,以记录条目形式显示,更清晰,\G后不用加;

          ■ show create table stu \G

  增加字段 作用:为已存在的表添加一个新字段 语法:alter table 表名 add 列名 数据类型

      alter table stu add gender char(4);

  删除字段 作用:在表中删除一个已存在的字段 语法:alter table 表名 drop 列名

      alter table stu drop gender;

  修改字段的数据类型 作用:修改表中现有字段的类型 语法:alter table 表名 modify 字段名 数据类型

      alter table stu modify sname varchar(20);

  修改列的数据类型并且改名 作用:修改表中现有字段的字段名和类型 语法:alter table 表名 change 原字段名 新字段名 数据类型

      alter table stu change sid snumber smallint;

  显示数据表的结构

      desc 表名;

2.4.3 MySQL 常用字段类型

数据表是由若干个字段组成的,每个字段表示不同类型的数据。

所以在创建表的时候,需要为每个字段指定相应的数据类型。

<1>数据类型

  整型

      tinyint 1 字节

      smallint 2 字节

      mediumint 3 字节

      integer 4 字节

      bigint 8 字节

  浮点类型

      float(长度,小数位数) 7位有效位

      double(长度,小数位数) 15位有效位

      decimal(长度,小数位数) 28位有效位

  字符串类型

      char(长度) 0-255字节 定长字符串

      varchar(长度) 0-65535字节 变长字符串

  枚举类型

      enum(枚举值1,枚举值2…)

      底层也是基于整型实现的

  时间类型

      DATE YYYY-MM-DD 日期值

      TIME HH:MM:SS 时间值

      DATETIME YYYY-MM-DD HH:MM:SS 日期时间值

      YEAR YYYY 年份值

      TIMESTAMP 1970-01-01 00:00:00 到现在的秒数 时间戳

  整数类型

  小数类型

  字符串类型

  枚举类型 enum(枚举值1,枚举值2,...)

        enum('男','女')

  时间类型

2.4.4 查询数据

作用:查询数据就是通过客户端通过 DBMS 从数据库中取出满足条件的数据。

语法:select 字段名列表 from 表名;

    select * from stu;

2.4.5 插入数据

作用:向数据库中插入数据

语法:insert into 表名 [(字段名列表, ...)] values(值列表, ...)

  插入所有字段数据(可以不指定插入的字段,直接写入插入的数据)

      insert into tStudent values(1,'tom',20)

  插入指定字段(可以插入指定的字段,指定字段顺序和列中顺序可以不同,值顺序要和指定的列顺序相同。)

      insert into stu(sage,sname) values(20,'jack');

  插入多条数据

      insert into stu values(2,'rose',20),(3,'tony',22);

2.4.6 修改数据

作用: 可以根据指定的条件,修改更新满足条件的数据

语法: update 表名 set 字段=值 [条件]

如果修改数据为空null的值,使用where is null 或者 where is not null

不能用where id=null

  更新所有的数据

      update stu set sAge=25;

  更新满足条件的数据

      update stu set sname='alice' where name='tony';

2.4.7 删除数据

作用:将数据从数据表中删除

语法1:truncate 表名

语法2:delete from 表名 [条件]

  删除全部数据 truncate

      truncate stu;

注意:

不经事务,删除不可恢复

不需要加条件,也不能加条件,删除全部数据,重置自动编号到默认值,没有事务,速度快。

      delete from stu;

注意:

可以用在事务操作中,在事务中没有提交时,可撤消

相当于 truncate stu,但是delete操作有事务操作,所以速度慢,而且不会重置自动编号。

  删除满足条件的数据

      delete from stu where snumber = 1;

相关文章

  • 关于python的list的增查删改

    说到增查删改,想起了数据库,我们在关系型数据库当中就会对表进行增查删改。 在python当中我们也可以对list进...

  • Python 高级 14(2)数据库增删改查

    数据表操作、DDL 数据表的增删改、DML 数据表中数据的增删改、MySQL 常用字段类型 2.4 数据表操作 学...

  • MYSQL数据库的增删改查

    MYSQL数据库的增删改查 一.对于库的增删改查 增create database 库名称;create data...

  • 数据库的存储

    如何创建数据库 数据库的增删改查 增insert into student (name,phone) values...

  • 2018-01-11 JDBC连接数据库代码

    1.JDBC操作mysql数据库-增删改查 2.JDBC操作Oracle数据库-增删改查

  • Python

    Python 创建文件 Python 对数据库进行操作--增删改查 Python 对csv进行操作 Python ...

  • Python 高级 14(1) 数据库增删改查

    数据库操作、DDL 数据库的增删改查 2.3 数据库操作 学习目标 1. 能够说出什么是CRUD 2. 能够熟...

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • python基础-03

    python操作mysql数据库 创建数据表 数据表的 增 删 查 改 增 查 改 删

  • SQL-增删改查

    从增山改查开始,增删改查都是从数据库,数据表,数据三个维度展开。 新增 新增数据库 CREATE DATABASE...

网友评论

      本文标题:Python 高级 14(2)数据库增删改查

      本文链接:https://www.haomeiwen.com/subject/hnwzqqtx.html