首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据库操作 MySQL数据库与数据表操作#学习猿地

Python数据库操作 MySQL数据库与数据表操作#学习猿地

作者头像
学习猿地
发布2020-03-24 10:48:07
4880
发布2020-03-24 10:48:07
举报
文章被收录于专栏:学习猿地学习猿地学习猿地

# MySQL数据库与数据表操作

+ 数据库的操作

+ 数据库创建

+ 数据库删除

+ 数据表的操作

+ 数据表的创建

+ 数据表的修改 (表结构)

+ 数据表的删除

### 数据库的操作

#### 1.数据库的创建

```mysql

# 链接mysql数据库后,进入mysql后可以操作数据

# 1. 创建库

create database if not exists tlxy default charset=utf8;

-- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建

-- 2. 创建 tlxy 数据库,并设置字符集为utf8

-- 3. 无特殊情况都要求字符集为utf8或者utf8mb4的字符编码

```

#### 2.查看所有库

```mysql

# 1. 查看所有库

show databases;

```

#### 3.打开库/进入库/选择库

```mysql

# use 库名

use tlxy

```

#### 4.删除库

> 删库有风险,动手需谨慎

```mysql

# 删除库,那么库中的所有数据都将在磁盘中删除。

drop database 库名

```

### 数据表的操作

#### 1.创建表

语法格式:

create table 表名(字段名,类型,【字段约束】,。。。);

实例:

```mysql

# 以下创建一个 users 的表

create table users(

-- 创建ID字段,为正整数,不允许为空 主键,自动递增

id int unsigned not null primary key auto_increment,

-- 创建 存储 名字的字段,为字符串类型,最大长度 5个字符,不允许为空

username varchar(5) not null,

-- 创建存储 密码 的字段,固定长度 32位字符, 不允许为空

password char(32) not null,

-- 创建 年龄 字段,不允许为空,默认值为 20

age tinyint not null default 20

)engine=innodb default charset=utf8;

# 查看表结构

desc users;

#查看建表语句

show create table users;

```

创建表的基本原则:

+ 表明和字段名 尽可能的符合命名规范,并且最好能够‘见名之意’

+ 表中数据必须有唯一标示,即主键定义。无特殊情况,主键都为数字并自增即可

+ 表中字段所对应的类型设置合理,并限制合理长度

+ 表引擎推荐使用innodb,并无特殊情况都要求为utf8或者utf8mb4的字符编码

#### 2.修改表结构

> 语法格式:alter table 表名 action (更改的选项)

##### 添加字段

```mysql

# 语法:alter table 表名 add 添加的字段信息

-- 在 users 表中 追加 一个 num 字段

alter table users add num int not null;

-- 在指定字段后面追加字段 在 users 表中 age字段后面 添加一个 email 字段

alter table users add email varchar(50) after age;

-- 在指定字段后面追加字段,在 users 表中 age字段后面 添加一个 phone

alter table users add phone char(11) not null after age;

-- 在表的最前面添加一个字段

alter table users add aa int first;

```

##### 删除字段

```mysql

# 删除字段 alter table 表名 drop 被删除的字段名

alter table users drop aa;

```

##### 修改字段

```mysql

语法格式: alter table 表名 change|modify 被修改的字段信息

change: 可以修改字段名,

modify: 不能修改字段名。

# 修改表中的 num 字段 类型,使用 modify 不修改表名

alter table users modify num tinyint not null default 12;

# 修改表中的 num 字段 为 int并且字段名为 nn

alter table users change num mm int;

# 注意:一般情况下,无特殊要求,不要轻易修改表结构

```

#### 3.修改表名

```mysql

# 语法:alter table 原表名 rename as 新表名

```

#### 4.更改表中的自增的值

```mysql

# 在常规情况下,auto_increment 默认从1开始继续递增

alter table users auto_increment = 1000;

```

#### 5.修改表引擎

```mysql

# 推荐在定义表时,表引擎为 innodb。

# 通过查看建表语句获取当前的表引擎

mysql> show create table users\G;

*************************** 1. row ***************************

Table: users

Create Table: CREATE TABLE `users` (

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

# 直接查看当前表状态信息

mysql> show table status from tlxy where name = 'users'\G;

*************************** 1. row ***************************

Name: users

Engine: InnoDB

# 修改表引擎语句

alter table users engine = 'myisam';

```

#### 6.删除表

```mysql

drop table 表名

```

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档