MySQL学习1——常用指令
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()(列举)

浙公网安备 33010602011771号