mysql创建表格作业_一次作业过程及其问题的记录:mysql建立数据库、建表、查询和插入等...

前言

这次的作业需要我建立一个小的数据库。

这次作业我使用了mysql,进行了建库、建表、查询、插入等操作。

本文是对本次作业相关的mysql操作过程及过程中出现的问题的记录。

另一篇文章(详情请点击)介绍了如何使用pymysql连接该数据库并使用Flask搭建后端接口,响应前端的GET和POST请求。

正文

作业中对数据库的要求是:

建立一个用户信息表,其包括用户名、密码、手机号、邮箱和手机号等属性,并向其中插入几条测试数据。

登录数据库

因为挺久没用数据库,就先测试下自己之前装的mysql还能不能用,于是打开CMD运行如下指令:

mysql

出现如下错误:

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

看起来是因为没输密码

所以输入密码,运行如下指令:

mysql -u root -p

-u参数是指username、user之类的,即用户名,我的用户名是root;

-p参数是指password,运行下面这条指令后,会要求输入密码,输入正确密码即成功登录。

我的mysql环境还可以,直接登录成功。

建库

执行如下指令,创建名为shopdata的数据库,会得到Query OK, 1 row affected (x.xx sec)。

create database shopdata;

进入/选择数据库

执行如下指令后,会看到Database changed的信息。

use shopdata;

建表

执行如下指令,创建名为userinfo的表。

我这里对userinfo的定义是:

主键是用户名userid

password是非NULL的

phone和email是unique的

这5个属性的类型都是varchar(15)

最长15,对于email来说不太够用

create table userinfo (

'userid' varchar(15) primary key,

'password' varchar(15) not null,

'company' varchar(15),

'phone' varchar(15) unique,

'email' varchar(15) unique

);

执行上边这条命令后,得到了一个错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''userid' varchar(15) primary key,

'password' varchar(15) not null,

'comp' at line 2

经查询,发现属性名应该用反引号`而不是单引号',所以将单引号改成反引号,执行如下命令:

create table userinfo (

`userid` varchar(15) primary key,

`password` varchar(15) not null,

`company` varchar(15),

`phone` varchar(15) unique,

`email` varchar(15) unique

);

这条命令执行成功,得到Query OK, 0 rows affected (x.xx sec)。

查看userinfo表

执行如下命令,查看userinfo表的结构。

describe userinfo;

执行后,得到如下结果:

+----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| userid | varchar(15) | NO | PRI | NULL | |

| password | varchar(15) | NO | | NULL | |

| company | varchar(15) | YES | | NULL | |

| phone | varchar(15) | YES | UNI | NULL | |

| email | varchar(15) | YES | UNI | NULL | |

+----------+-------------+------+-----+---------+-------+

5 rows in set (0.57 sec)

插入3条数据

执行如下命令,插入3条数据。

insert into userinfo values

('user1','0000','zstu','13777860000','7746@qq.com'),

('user2','0000','zstu','13777860001','7747@qq.com'),

('user3','0000','zstu','13777860002','7748@qq.com');

执行后,得到如下信息:

Query OK, 3 rows affected (0.11 sec)

Records: 3 Duplicates: 0 Warnings: 0

查询数据

执行如下语句,查询所有元组。

select * from userinfo;

执行后,得到如下结果(在我做好作业后、写这篇博客前,我已经插入了一些其他的数据,所以有9条记录):

+------------+----------+---------+-------------+--------------+

| userid | password | company | phone | email |

+------------+----------+---------+-------------+--------------+

| 111 | 111 | 111 | 111 | 111 |

| 112 | 000 | 111 | 000 | 000 |

| aa | 111 | 11 | 11 | 11 |

| test_1 | 00 | NULL | NULL | NULL |

| user_test2 | 0000 | NULL | NULL | NULL |

| user1 | 0000 | zstu | 13777860000 | 7746@qq.com |

| user2 | 0000 | zstu | 13777860001 | 7747@qq.com |

| user3 | 0000 | zstu | 13777860002 | 7748@qq.com |

| 232222 | 0000 | 城站 | 12306 | 12306@qq.com |

+------------+----------+---------+-------------+--------------+

9 rows in set (0.00 sec)

欢迎讨论和交流!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值