1.1开启一个后台服务
//引入http模块
const http = require("http");
const server = http.createServer((request, response) => {
//后端设置允许跨域
response.setHeader("Access-Control-Allow-Origin", "*");
// 1. 接收请求
var path = request.url;
console.log(request.url);
//解决中文乱码问题
response.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
//2.根据请求路由,响应数据
if (path === "/login.do") {
response.write("登录界面");
} else if (path === "/register.do") {
response.write("注册界面");
} else if (path === "/list") {
let obj = { name: "Jack", age: 23 };
response.write(JSON.stringify(obj));
} else {
response.write("<h1>主界面</h1>");
response.write("<div>第一个nodejs程序</div>");
}
response.end(); // 结束响应
});
// 监听启动服务器
server.listen(8080, () => {
console.log("listening on port 8080");
});
1.2mysql数据库命令
show databases; 查看所有数据库 use h52104db; 切换到指定数据库 show tables; 查看当前数据库所有表 desc student; 查看student表结构
1.3数据库类型
数值类型
| 类型 | 大小 | 用途 |
|---|---|---|
| tinyint | 1 字节 | 小整数值 |
| smallint | 2 字节 | 大整数值 |
| mediumint | 3 字节 | 大整数值 |
| int 或 integer | 4 字节 | 大整数值 |
| bigint | 8 字节 | 极大整数值 |
| float | 4 字节 | 单精度 浮点数值 |
| double | 8 字节 | 双精度 浮点数值 |
| decimal | 小数值 |
日期时间类型
| 类型 | 格式 | 用途 |
|---|---|---|
| date | YYYY-MM-DD | 日期值 |
| time | HH:MM:SS | 时间值或持续时间 |
| year | YYYY | 年份值 |
| datetime | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
| timestamp | YYYYMMDD HHMMSS | 时间戳 |
字符串类型
| 类型 | 大小 | 用途 |
|---|---|---|
| char | 0-255字节 | 定长字符串 |
| varchar | 0-65535 字节 | 变长字符串 |
| tinyblob | 0-255字节 | 不超过 255 个字符的二进制字符串 |
| tinytext | 0-255字节 | 短文本字符串 |
| blob | 0-65 535字节 | 二进制形式的长文本数据 |
| text | 0-65 535字节 | 长文本数据 |
| mediumblob | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
| mediumtext | 0-16 777 215字节 | 中等长度文本数据 |
| longblob | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
| longtext | 0-4 294 967 295字节 | 极大文本数据 |
1.4SQL语句
数据定义语言(DDL) ,用图形界面工具,只了解
数据操作语言 (DML)
查询
SQL SELECT 语句:用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
SQL SELECT 语法:
SELECT 列名1,列名2 FROM 表名称
例如:
如需获取名为"LastName" 和 "FirstName" 的列的内容(从名为"Persons" 的数据库表),请使用类似这样的SELECT 语句:
SELECT LastName,FirstName FROM Persons
插入
INSERT INTO 语句
INSERT INTO 语句用于向表格中插入新的行。
语法
INSERT INTO 表名称 VALUES (值1, 值2,....)
我们也可以指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
修改
Update 语句
Update 语句用于修改表中的数据。
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
例如:
我们为 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
删除
DELETE 语句用于删除表中的行。
语法
DELETE FROM 表名称 WHERE 列名称 = 值
删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name
或者:
DELETE * FROM table_name
1.5后台连接操作数据库
const mysql = require('mysql') //引入第三方mysql安装包
//创建数据库连接对象
const connectObj = mysql.createConnection({
host:'localhost',
port:3306,
user:'root',
password:'b123',
database:'mydb'
})
//连接数据库
connectObj.connect()
//执行sql语句
let sql = 'insert into product (id,name,price,num) values (1005,"react高级编程",99.88,1)'
connectObj.query(sql,function(err,result){
if(err){
console.log('数据库出错 ',err);
return
}
console.log(result);
})
//关闭数据库连接
connectObj.end()
\