创建数据库
CREATE DATABASE `student_manager` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
创建表
- 创建主键字段,一般情况字段的名称
id
,自增,无符号,整型
数据类型 | 存储范围 |
---|---|
tinyint | 1字节 【0-255】 |
smallint | 2字节 【0-65535】 |
mediumint | 3字节 【0-16777215】 |
int | 4字节 【0-4294967295】 |
bigint | 8字节 【0-18446744073709551616】 |
学号 | 姓名 | 性别 | 出生时间 | 专业 | 总学分 | 备注 |
---|---|---|---|---|---|---|
//写入操作
INSERT INTO `tab_name`(
`stu_no`,`sex`,`sex_2`,`birthday`,`major`)VALUES(
'181101','男','1','2000-02-10','计算机'
);
//1:自增主键字段不需要设置参数值
//2:没有默认值,不允许为空的字段,需要设置参数值
//3:唯一索引不能出现重写值
//读取操作
// 根据学号查找对应的学生信息
//修改
//删除
CREATE TABLE `NewTable` (
`id` mediumint(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '学生表-自增id' ,
`stu_no` char(6) NOT NULL COMMENT '学号' ,
`sex` char(1) NOT NULL COMMENT '性别-char' ,
`sex_2` tinyint(1) NOT NULL COMMENT '性别-1表示男2女' ,
`birthday` date NOT NULL COMMENT '出生时间' ,
`major` varchar(15) NOT NULL COMMENT '专业' ,
`total_credit` tinyint UNSIGNED NULL DEFAULT 0 COMMENT '总学分' ,
`remark` varchar(100) NULL COMMENT '备注' ,
PRIMARY KEY (`id`),
UNIQUE INDEX (`stu_no`)
);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZqevJWB-1655041344551)(D:\phpstudy_pro\WWW\www.oop.com\images\image-20220530090617304.png)]
课程表
课程编号 | 课程名称 | 开设学期 | 学时 | 学分 |
---|---|---|---|---|
CREATE TABLE `NewTable` (
`id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT ,
`course_no` char(5) NOT NULL COMMENT '课程编号' ,
`course_name` varchar(30) NOT NULL COMMENT '课程名称' ,
`start_at` tinyint(1) UNSIGNED NULL DEFAULT 1 COMMENT '开设学期' ,
`course_hour` tinyint(3) UNSIGNED NULL COMMENT '学时' ,
`course_credit` tinyint(3) UNSIGNED NULL AUTO_INCREMENT COMMENT '学分' ,
PRIMARY KEY (`id`),
UNIQUE INDEX (`course_no`)
);
成绩表
学号 | 课程编号 | 成绩 |
---|---|---|
CREATE TABLE `points` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`stu_no` mediumint(10) UNSIGNED NULL COMMENT '学号' ,
`course_no` char(5) NULL COMMENT '课程编号' ,
`point` tinyint(3) UNSIGNED NULL COMMENT '成绩' ,
`add_time` datetime NULL COMMENT '成绩录入时间' ,
PRIMARY KEY (`id`)
);
PHP操作数据库
- 内置类MySQLi【只能操作MySQL数据库】
- PDO【PHP数据库操作对象,可以操作大多数主流的数据库】
- 内置类MySQL【废弃】
MySQLi跟数据库进行交互
-
函数式的风格
-
面向对象
//函数式的风格
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
连接数据库
-
数据库服务启动
-
主机地址
-
端口号
-
用户名
-
密码
-
选择数据库
-
设置编码
//设置编码 以防中文乱码
$this->link->query("set names utf8");
问题
Fatal error: Uncaught Error: Class 'lab09\tools\Mysqli' not found in D:\phpstudy_pro\WWW\www.oop.com\lab09\tools\DB.php:18 Stack trace: #0 D:\phpstudy_pro\WWW\www.oop.com\test\index.php(4)
$this->link = new \Mysqli("253.11.11.11","root","789456","emp_manager");