PHP全栈开发(七):PHP与MySQL存储交互(1.连接、创建数据库;创建数据表)
在Linux服务器中可以使用命令
mysqladmin -u root password beijing2007;
来修改MySQL的root用户的密码。
但是在我们自己安装了wampserver的电脑里面,可以到PhpMyAdmin这个网页页面去改,初始root密码同样为空。
然后我们用面向过程的MySQLi来进行数据库的链接,链接代码如下:
<?php
$servername = "localhost";
$username = "root";
$password = "beijing2007"; // 创建连接
$conn = mysqli_connect($servername, $username, $password); // 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
} echo "连接成功"; ?>
链接在脚本执行完毕后自动关闭,也可以用下面代码来进行手动关闭:
mysqli_close($conn);
OKOK,现在已经链接好了,现在我们来创建一个数据库
<?php
$servername = "localhost";
$username = "root";
$password = "beijing2007"; // 创建连接
$conn = mysqli_connect($servername, $username, $password); // 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功"; $sql="CREATE DATABASE mydb";
if(mysqli_query($conn,$sql)){
echo "创建数据库成功";
}else{
echo "Error creating database: " . mysqli_error($conn);
}
?>
上面代码我们就创建了一个名叫mydb的数据库啦。
创建了数据库之后,我们要在数据库里面创建一个数据表
然后这个数据表是用来存放用户信息的,那么,它就有下面这些字段:账号、密码、手机号码。
那么我们在创建数据表的时候就要考虑到这些字段的类型。
这个时候我们就要学习MySQL里面的数据类型了,这个还挺难的。
在MySQL中呢,有三种主要的类型,分别是文本(text);数字(number);日期/时间(Date/Time)
这里用户名称我们使用的类型是VARCHAR类型;密码我们使用的是VARCHAR类型;手机号码使用的是INT类型
VARCHAR(size):保存可变长度的字符串,可包含字母,数字,特殊字符,在括号中指定字符串的最大长度,最多255个字符,如果值的长度大于255,则被转换成TEXT类型。
INT(size):带符号范围-2147483648到2147483647,无符号的范围是0到4294967295。 size 默认为 11
现在前期准备工作已经做完了,我们来创建一个数据表吧:
<?php
$servername = "localhost";
$username = "root";
$password = "beijing2007";
$dbname = "mydb"; // 创建连接
$conn = mysqli_connect($servername, $username, $password,$dbname); // 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功"; //使用sql创建数据表
$sql="CREATE TABLE user(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
user VARCHAR(10) NOT NULL,
pwd VARCHAR(10) NOT NULL,
tel INT,
reg_date TIMESTAMP
)";
if(mysqli_query($conn,$sql)){
echo "创建数据表成功";
}else{
echo "Error creating: " . mysqli_error($conn);
}
//关闭数据库连接
mysqli_close($conn);
?>
在创建数据表的时候我们注意到,在mysqli_connect这个函数里面最后多了一个数据库的参数$dbname
因为在创建数据表的时候,我们必须要创建数据库。
然后做完这些之后,我们打开mysql的命令行,验证一下我们的操作
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
可以看到我们创建了的数据库mydb
mysql> use mydb;
Database changed
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| user |
+----------------+
1 row in set (0.00 sec)
可以看到数据库mydb里面有我们的数据表user
然后我们再看一下我们user表里面的字段:
mysql> show columns from user;
+----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| user | varchar(10) | NO | | NULL | |
| pwd | varchar(10) | NO | | NULL | |
| tel | int(11) | YES | | NULL | |
| reg_date | timestamp | YES | | NULL | |
+----------+-----------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
可以看到字段了。
感觉力不从心越来越难了!
感到气气
PHP全栈开发(七):PHP与MySQL存储交互(1.连接、创建数据库;创建数据表)的更多相关文章
- C# 利用mysql.data 在mysql中创建数据库及数据表
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
- mysql 基本语法学习1(数据库、数据表、数据列的操作)
今天学习了一下mysql语法,并记录下来 1.mysql的数据库操作 /***1.操作数据库的语法 ***/ -- 1)显示所有数据库 -- show databases; -- 2)创建数据库 -- ...
- mysql导入导出sql文件(包括数据库和数据表的操作)
废话不多说直接开始. 在windows命令行下登录mysql,创建一个test_01数据库,创建一个user表,并插入一条数据,如下 一.导出数据库test_01 1.退出数据库,在命令行中输入 my ...
- Mysql 中如何创建数据库和数据表
这里的数据库为:user 数据表为 aaa mysql –uroot –p 进入mysql create database user; 创建数据 ...
- MySQL 创建数据库及数据表
1.创建数据库 (1) 命令行创建 [root@host]# mysqladmin -u root -p create RUNOOB Enter password:****** (2) php创建 语 ...
- Python 全栈开发七 面向对象
一.编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式 ...
- python 全栈开发,Day75(Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件)
昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ----- ...
- python 全栈开发,Day18(对象之间的交互,类命名空间与对象,实例的命名空间,类的组合用法)
一.对象之间的交互 现在我们已经有一个人类了,通过给人类一些具体的属性我们就可以拿到一个实实在在的人.现在我们要再创建一个狗类,狗就不能打人了,只能咬人,所以我们给狗一个bite方法.有了狗类,我们还 ...
- 复习MySQL①创建数据库及数据表
• 创建数据库:create database 数据库名称; – 例:创建名为test的测试数据库 create database test; • 查看创建好的数据库:show create data ...
随机推荐
- SpringBoot使用CORS的addCorsMappings中会遇到的问题
跨域需要后端需要设置响应的跨域头 如下 public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/ ...
- JavaWeb--HTTP与Maven
前言 Java Web 其实就是一个技术的总和,把Web看成一个容器而已主要使用JavaEE技术来实现.在加上各种中间件. 整个javaWeb阶段的内容通过实际的案例贯穿学习, 所涉及到的技术知识点会 ...
- pat甲级考试+pat1051+1056
同上一篇博客: 贪心题目我已经刷了将近30道了,由于那几天考驾照就没写,以后有空的时候补过来吧,都在codeblock里 pat的题也刷了点,acwing 的题也刷了点,基本都攒下了.以后也会慢慢补过 ...
- Postman如何通过xmysql工具的Restful API 接口访问MySQL
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 有时候用 Postman 接口测试需要获取MySQL的查询结果做接口输出的校验,这里介绍下 Postman 通过 R ...
- Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK
# Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...
- [C#]使用 AltCover 获得代码覆盖率 - E2E Test 和 Unit Test
背景 在 CI/CD 流程当中,测试是 CI 中很重要的部分.跟开发人员关系最大的就是单元测试,单元测试编写完成之后,我们可以使用 IDE 或者 dot cover 等工具获得单元测试对于业务代码的覆 ...
- Docker 05 常用命令
参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...
- Java-往数据库插入日期
Java-往数据库中插入日期 将字符串类型的时间转换成mysql的日期格式 String str = "2022-6-11"; SimpleDateFormat sdf = new ...
- 【MySQL】DDL因Waiting for table metadata lock卡住
在数据库空闲时间,对表做碎片整理: alter table my_abc engine=innodb; 发现会话被阻塞,显示状态是: Waiting for table metadata lock 手 ...
- Linux虚拟机启动报错operating system not found解决步骤
此报错为硬盘上的启动代码丢失 实验准备步骤 1) 准备: dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 2) 系统启动报错截图 修复步骤如下 第一步:选 ...