1、登录mysql
① 本地登录
mysql -u 用户名 -p
②远程登入
mysql -h ip主机地址 -P 端口号 -u 用户名 -p
回车输入密码即可.
2、关于用户操作
①创建用户
% 代表所有ip都可以访问,可指定主机ip
create user '用户名'@'%' identified by '密码';
②修改密码
alter user ‘用户名’@‘%’ identified by ‘密码’;
③给予用户权限
grant 权限列举 on 哪些数据库的哪些表,数据库.表名 to ‘用户名’@‘%’;
④删除用户
drop user '用户名'@'%';
⑤查看当前用户
select user();
3、关于数据库操作
①查看所有数据库
show databases;
②创建数据库
create database 数据库名;
③删除数据库
drop database 数据库名;
④使用数据库
use 数据库名;
⑤查看当前使用的数据库;
select database();
4、关于表的操作
①选择数据库后使用,显示该数据库所有表
show tables;
②创建表
约束:primary key:主键 可以唯一确定一行
not null:非空
auto_increment:自增长 每次加一
unique:唯一,该列不允许出现重复数据
default: 默认值,插入时若不给该列值则使用默认值
foreign:外键,其他表的主键,与该表产生联系
check:检查(mysql8 才能使用),在插入或修改 该列时 要符合 检查过滤条件,否则插入或修改错误
create table 表名( 列名 类型 约束1 约束2 约束3, 列名 类型 约束1 约束2, 列名 类型 约束1 );
③查看表结构
desc 表名;
④删除表
drop table 表名;
⑤修改表结构
alter table 表名 drop 列名; # 删除该表中的该列alter table 表名 add 列名 类型 约束; # 插入该表一列alter table 表名 change 原列名 新列名 类型 约束; # 修改列
5、数据的增删改查
where 条件语句
①增加数据
# 插入的数据 个数 要与表中列数 一致 可一次插入多条数据
insert into 表名 values (值1,值2,值n),(值1,值2,值n)...;# 指定插入那些列数据 但没有默认值的 列 必须插入值
# 列数与值数 一一对应 可一次插入多条数据
insert into 表名 (列1,列2...) values (值1,值2,...),(值1,值2,...)..;# 插入1行指明插入的列与其值
insert into 表名 set 列1=值1,列2=值2..;
②查询数据
# 查询表中所有数据
select * from 表名;# 查询表中所有满足条件的数据
select * from 表名 where 条件;# 查询具体列 满足条件
select 列名,.. from 表名 where 条件;# 查询具体列 满足条件 并输出时 为列定义别名
select 列名 as 别名,.. from 表名 where 条件;
③删除数据
delete from 表名 where 条件; # 若没有条件 则删除全部数据
④修改数据
update 表名 set 列1 = 值1 where 条件; # 若没有条件 则修改全部数据