mysqld:启动服务端
ctrl + c:退出服务端
mysql:进入客户端并连接服务端,如果连接不成功,无法进入客户端;
exit:退出客户端
tasklist |findstr "mysqld"查看进程mysqld进程是否还在,若还在必须先删除,否则无法制作系统服务
taskkill /F /PID"mysqld的PID号"通过进程杀掉mysqld服务
mysqld --initialize-insecure初始化mysqld
mysqld --install制作系统服务
net start mysql启动mysql服务
mysqld --remove删除系统服务
mysql -u root -p进入管理员客户端
u:user root:超级用户 p:password
mysqladmin -uroot -p password 123设置密码
# 严格模式设置
show variables like "%mode%";
set global sql_mode="strict_trans_tables,only_full_group_by";
mysql -uroot -p进入数据库
create database 库名 charset="utf8";创建数据库
drop database 库名;删除库
show databases;查看所有数据库
select database();查看当前所在的库
use 库名切换到某个库中
创建表:
create table 表名(字段名1 类型,字段名2 类型,字段名3 类型);
drop table 表名;删除表
desc 表名;查看表结构
show tables;查看当前库中所有的表
往表中插入数据:
insert into 表名(字段名1, 字段名2, 字段名3) values(字段名1的值,字段名2的值,字段名3的值);
增加多条记录
插入几条,在values后面写几个小括号,小括号中写对应字段个数的值
insert into 表名 values(对应字段个数的值), (对应字段个数的值);
select * from 表名;查看表中的数据, *: 查所有
select 列名 from 表名;根据列明查找值
select * from 表名 where 字段名(id)=字段的值;根据字段名查找值
复制表结构+记录 (key不会复制: 主键、外键和索引)
create table 新的表名 select * from 已存在的表名;
只复制表结构
create table 新表名 like 已存在的表名;
修改某一条记录的数据
update 表名 set 字段名=字段的值 where 字段名(id)=字段的值;
删除某行数据
delete from 表名 where 字段名(id)=字段的值;
修改表名
ALTER TABLE 表名 RENAME 新表名;
增加字段
ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…],
ADD 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] FIRST;
ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;
修改字段 # modify只能改字段数据类型完整约束,不能改字段名,但是change可以!
ALTER TABLE 表名 MODIFY 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
ALTER TABLE 表名 DROP 字段名; 删除字段
primary key (pk)主键
foreign key (fk)外键
on update cas 8cade级联更新(同步更新)
on update cascade级联删除(同步删除)
unique值唯一
not null不能为空
auto_increment自动增长
default设置默认值
unsigned无正负符号
zerofill使用0填充
between: 两者之间like: 模糊匹配
and: 与%: 匹配1个或多个任意字符
or: 或者_: 匹配一个任意字符
in: 在什么里having:过滤
not:取反
is:字段相同
order by:排序(默认升序)
salary asc:指定升序
salary desc:指定降序
limit:限制结果返回数量
inner join:内连接(只取两张表有对应关系的记录)
left join:左连接(在内连接的基础上保留左表没有对应关系的记录)
right join:右连接(在内连接的基础上保留右表没有对应关系的记录)
union:全连接(在内连接的基础上保留左、右面表没有对应关系的的记录)
select * from emp left join dep on emp.dep_id = dep.id
union
select * from emp right join dep on emp.dep_id = dep.id;
聚合函数: max(取最高值)
min(取最低值)
sum(求和)
avg(求平均值)
count(计数)
group_concat()(列举)