一. 关于mysql命令(在cmd窗口中使用)
记得每条语句都要写 ; 分号 ,如果不加,表示换行
1. 查看mysql中的所有数据库
mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sql01 |
| sys |
+--------------------+
5 rows in set (0.00 sec)
2. 进入数据库
//注意1: 只有进入到某一个数据库才能看到这个数据库中的所有数据表
//注意2: 一旦进入到数据库,不需要出去,可以直接使用use切换数据库
//进入sql01数据库
mysql> use sql01
Database changed
3. 查看数据库中的所有表
mysql> show tables;
+-----------------+
| Tables_in_sql01 |
+-----------------+
| class |
| score |
| student |
+-----------------+
3 rows in set (0.00 sec)
4. 查询数据表中的数据
select *(字段名,字段名...) from 表名 where 条件
mysql> select * from class;
+----+--------+-------+------+
| id | name | grade | sex |
+----+--------+-------+------+
| 1 | 李华 | 3 | 女 |
| 6 | 小王 | 12 | 男 |
| 5 | 小丽 | 9 | NULL |
+----+--------+-------+------+
3 rows in set (0.00 sec)
6. 向数据表中插入数据
insert into 表名 (字段1,字段2...) values(值1,值2...);
//注意1:插入时,如果字段的属性允许为空,则可以不插入数据,否则,必须该字段插入数据
//注意2:在id字段中,需要设置自增,如果有自增在添加时不需要设置值,会自增.
如果每一个字段都设置值,则可以省略字段名不写
insert into 表名 values(值1,值2,值3...);
7. 删除数据表中数据
delete from 表名 where 条件
//删除语句如果没有条件,就是清空表的操作
//删除多条数据
delete from 表名 where id in(1,2,3...);
8. 修改数据表中的数据
update 表名 set 字段1='修改值1',字段2='修改值2',... where 条件
二. 使用node操作数据库
1. 需要先在cmd窗口中初始化
npm init --yes
2. 安装mysql模块
npm i mysql
js文件中的操作
1. 引入mysql模块
2. 配置数据库
3. 连接数据库
4. 操作数据库
let http=require('http');
//1. 引入mysql模块
let mysql=require('mysql');
//2. 配置数据库
let connection=mysql.createConnection({
host:'127.0.0.1',
user:'root',
password:'root',
database:'数据库名'
})
//3. 连接数据库
connection.connect();
//搭建服务器
let serevr=http.createServer((req,res)=>{
let url=req.url;
let method=req.method;
if(url=='/路径'&&method=='GET'){
//4. 操作数据库
/*
数据库.query(sql语句,回调函数)
回调函数参数(error,results)
*/
//sql语句可以存在变量里
let sql='select * from 表名';
/*
预处理: 防止sql注入,有时候传入的数据是sql语句,这时候要将其修改为字符串格式,防止该语句被执行.
||
\/
方法:
1. 准备sql语句
let sql='delete from 表名 where id=?';
2. 绑定值
let delId=[11];
3. 返回预处理
let sql2=mysql.format(sql,delId);
接下来使用sql2操作数据库节课
*/
connection.query(sql,(error,results)=>{
if(!error){
console.log(results);
//affectedRows:1 表示受影响行数
if(results.affectedRows>0){
console.log('操作成功');
}else{
console.log('操作失败');
}
res.end()
}
})
}
})
server.listen(8090);