一. MySQL的基本命令
需要注意的是:
以下所有命令中如过结尾有分号(;)的一定不能省略, 否则不是一条完整的命令, 系统会提示你继续输入命令
1. 连接数据库
格式:mysql -u 用户名 -p
示例:mysql -u root -p
// 此处会提示你输入密码(安装时设置的)
2. 远程连接
链接他人或其他服务器的数据库
格式:mysql -h ip地址 -u 用户名 -p
输入对方mysql密码
3. 其他命令
// 查看版本(连接后可以执行)
select version();
//显示当前时间(连接后可以执行)
select now();
//退出登录(断开连接)
quit或exit
二. 数据库操作
1. 数据库操作
// 1、创建数据库
格式:create database 数据库名 charset=utf8;
示例:create database titansql charset=utf8;
// 2、删除数据库
格式:drop database 数据库名;
示例:drop database titansql;
// 3、切换数据库
格式:use 数据库名;
示例:use titansql;
// 4、查看当前选择的数据库
select database();
2. 表操作
// 1、查看当前数据库中所有表
show tables;
// 2、创建表
格式:create table 表名(列及类型);
说明:
//id, name, age: 等为字段名
//auto_increment: 表示自增长
//primary key: 表示主键
//int, varchar(20): 等为数据类型, 20为可存储的字节数
//not null: 表示不为空
//default: 为设置默认值
示例:create table student(id int auto_increment primary key, name varchar(20) not null, age int not null, gender bit default 1, address varchar(20), isDelete bit default 0);
// 3、删除表
格式:drop table 表名;
示例:drop table student;
// 4、查看表结构
格式:desc 表名;
示例:desc student;
// 5、查看建表语句
格式:show create table 表名;
示例:show create table student;
// 6、重命名表名
格式:rename table 原表名 to 新表名;
示例:rename table car to newCar;
// 7、修改表
格式:alter table 表名 add|change|drop 列名 类型;
示例:alter table newcar add isDelete bit default 0
3. 数据操作
1、增
a、全列插入
格式:insert into 表名 values(...);
示例:insert into student values(0, "tom", 19, 1, "北京", 0);
b、缺省插入
格式:insert into 表名(列1,列2,……) values(值1,值2,……);
示例:insert into student(name, age, address) values("titan", 19, "上海");
c、同时插入多条数据
格式:insert into 表名 values(...),(...),……
示例:insert into student values(0, "jun", 18, 0, "北京", 0), (0, "poi", 22, 1, "海南", 0), (0, "coder", 20, 0, "石家庄", 0);
2、删
格式:delete from 表名 where 条件;
示例:delete from student where id=4;
注意:没有条件是全部删除,慎用
3、改
格式:update 表名 set 列1=值1,列2=值2,…… where 条件;
示例:update student set age=16 where id=7;
注意:没有条件是全部列都修改,慎用
4、查
说明:查询表中的全部数据
格式:select * from 表名;
示例:select * from student;
4. 批量删除
delete from inHospital where id in (256,257,258)
当需要删除的id为字符串时,可以使用es6模板字符串:
`delete from inHospital where id in (${
req.body.id}) `
req.body
{
id: '003,002,004,005' }
4. 批量插入
insert into inHospital where id in (256,257,258)
当需要删除的id为字符串时,可以使用es6模板字符串:
"insert into inHospital set ?"
?可以为对象,就可以传多个值