AI智能
改变未来

python入门教程13-03 (python语法入门之表相关操作)

对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,下面我们一起来看看吧!

一 存储引擎介绍

存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制

二 表介绍

表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

id,name,qq,age称为字段,其余的,一行内容称为一条记录

三 创建表

#语法:create table 表名(

字段名1 类型[(宽度) 约束条件],

字段名2 类型[(宽度) 约束条件],

字段名3 类型[(宽度) 约束条件]

);#注意:1. 在同一张表中,字段名是不能相同2. 宽度和约束条件可选3. 字段名和类型是必须的

注意注意注意:表中的最后一个字段不要加逗号

四 查看表结构

MariaDB [db1]> describe t1;#查看表结构,可简写为desc 表名+——-+———————–+——+—–+———+——-+| Field | Type | Null | Key | Default | Extra |+——-+———————–+——+—–+———+——-+| id | int(11) | YES | | NULL | || name | varchar(50) | YES | | NULL | || sex | enum(\’male\’,\’female\’) | YES | | NULL | || age | int(3) | YES | | NULL | |+——-+———————–+——+—–+———+——-+MariaDB [db1]> show create table t1\\G;#查看表详细结构,可加\\G

五 数据类型

六 表完整性约束

七 修改表ALTER TABLE

语法:1. 修改表名

ALTER TABLE 表名

RENAME 新表名;2. 增加字段

ALTER TABLE 表名

ADD 字段名 数据类型 [完整性约束条件…],

ADD 字段名 数据类型 [完整性约束条件…];

ALTER TABLE 表名

ADD 字段名 数据类型 [完整性约束条件…] FIRST;

ALTER TABLE 表名

ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;3. 删除字段

ALTER TABLE 表名

DROP 字段名;4. 修改字段

ALTER TABLE 表名

MODIFY 字段名 数据类型 [完整性约束条件…];

ALTER TABLE 表名

CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];

ALTER TABLE 表名

CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

示例:1. 修改存储引擎

mysql> alter table service -> engine=innodb;2. 添加字段

mysql> alter table student10-> add name varchar(20)not null,-> add age int(3)notnull default 22;

mysql> alter table student10-> add stu_num varchar(10)notnull after name; //添加name字段之后

mysql> alter table student10 -> add sex enum(\’male\’,\’female\’) default\’male\’first; //添加到最前面3. 删除字段

mysql> alter table student10-> drop sex;

mysql> alter table service-> drop mac;4. 修改字段类型modify

mysql> alter table student10-> modify age int(3);

mysql> alter table student10-> modify id int(11)notnull primary key auto_increment; //修改为主键5. 增加约束(针对已有的主键增加auto_increment)

mysql> alter table student10 modify id int(11)not null primary key auto_increment;

ERROR 1068 (42000): Multiple primary key defined

mysql> alter table student10 modify id int(11)not null auto_increment;

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 06. 对已经存在的表增加复合主键

mysql> alter table service2-> add primary key(host_ip,port);7. 增加主键

mysql> alter table student1-> modify name varchar(10)not null primary key;8. 增加主键和自动增长

mysql> alter table student1-> modify id intnot null primary key auto_increment;9. 删除主键

a. 删除自增约束

mysql> alter table student10 modify id int(11)not null;

b. 删除主键

mysql> alter table student10 -> drop primary key;

八 复制表

复制表结构+记录 (key不会复制: 主键、外键和索引)

mysql> create table new_service select *from service;

只复制表结构

mysql> select *fromservice where 1=2; //条件为假,查不到任何记录

Empty set (0.00 sec)

mysql> create table new1_service select *fromservice where 1=2;

Query OK, 0 rows affected (0.00 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> create table t4 like employees;

九 删除表

DROP TABLE 表名;

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » python入门教程13-03 (python语法入门之表相关操作)