一、 建表Tables
column: 列名称
dateType:这一列的类型(int整数类型、varchar字符串类型 varchar(20)值的最大长度是20、longtext可以存储很大数据,最多可存储4G大小、bigint用来存储更大数据的整数类型)
pk主键:这一列的值不能重复(主键的意思就是保证不能重复)如何保证不能重复呢?
AI自动增加:设置为Y
nn不为空:这一列的值是不是允许为空(Y是不允许为空)
Default: 默认值
修改表:图形界面表名右键选择Alter Table
二、操作表(增删改查)
1.想要操作数据库,首先先use这个数据库,然后执行这个语句
use 数据库名;
2.显示所有数据库的表
show tables;
注释的写法 --
-- show tables;
3.给users表增加数据 insert into 表名 (列名) values (数据);
insert into users (username, `password`, realname) values ('zhangsan','123','张三');
- 查询
- 查询全部
select * from users;
出于性能考虑,一般情况下,避免使用*
- 查询部分
select 列名 from 表
select id, username from users;
- 加查询条件 (后面加
where
条件)
select * from users where username='zhangsan';
- 多个查询条件(
where
条件1and
条件2)
(where
条件1or
条件2)
select * from users where username='zhangsan' and `password`='123';
- 模糊查询
like
select * from users where username like '%zhang%';
- 排序
order by
默认正序,加desc
后是倒序
select * from users where password like '%1%' order by id desc;
- 更新
update
表名set
值where
条件
update users set realname='李四' where username='lisi';
若执行update报错,则需执行下面的语句,执行完删除,重新执行刚才的update语句
SET SQL_SAFE_UPDATES = 0;
6.删除 delete from 表名 where 条件
一般删除是软删除,不会直接使用delete
,而是使用update
- 比如加一列state状态,是1的话存在,0的话删除
update users set state='0' where username='lisi';
select * from users where state='1';
- 如果想要查询state不等于0,使用
<>
select * from users where state <> '0';
三、nodejs连接数据库
- 下载mysql包
npm i mysql -S
- 引用
const mysql = require('mysql')
3.配置并连接数据库
// 创建链接对象
const con = mysql.createConnection({
// 配置
})
// 开始连接
con.connect()
4.执行sql
const sql = `select * from users`;
con.query(sql, (err, result) => {
if (err) {
return
}
console.log(result)
})
网友评论