后端初涉

151 阅读3分钟

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数据库类型

数值类型

类型大小用途
tinyint1 字节小整数值
smallint2 字节大整数值
mediumint3 字节大整数值
int 或 integer4 字节大整数值
bigint8 字节极大整数值
float4 字节单精度 浮点数值
double8 字节双精度 浮点数值
decimal小数值

日期时间类型

类型格式用途
dateYYYY-MM-DD日期值
timeHH:MM:SS时间值或持续时间
yearYYYY年份值
datetimeYYYY-MM-DD HH:MM:SS混合日期和时间值
timestampYYYYMMDD HHMMSS时间戳

字符串类型

类型大小用途
char0-255字节定长字符串
varchar0-65535 字节变长字符串
tinyblob0-255字节不超过 255 个字符的二进制字符串
tinytext0-255字节短文本字符串
blob0-65 535字节二进制形式的长文本数据
text0-65 535字节长文本数据
mediumblob0-16 777 215字节二进制形式的中等长度文本数据
mediumtext0-16 777 215字节中等长度文本数据
longblob0-4 294 967 295字节二进制形式的极大文本数据
longtext0-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()
​

\