MySQL基本命令

连接命令


  • 使用命令连接

打开终端,输入命令(已配置好mysql环境变量前提下)

mysql -uroot -p
或
mysql -u root -p

回车后输入密码

完整命令 mysql -h 192.168.10.123 -P 3306 -u root -p 其中-h参数为主机地址 -P为端口值
  • 退出登录
quit 或 exit

数据库操作


  • 显示数据库列表
show databases;
  • 创建数据库
create database 数据库名 charset=utf8;
或
create database 数据库名;
  • 切换数据库
use 数据库名;
  • 删除数据库
drop database 数据库名;
  • 查看当前选择的数据库
select database();

表操作


  • 查看当前数据库中所有表
show tables;
  • 创建表
create table 表名(列及类型);
如:
create table Stu(
id int not null auto_increment primary key,
name varchar(20) not null
);
  • 修改表
alter table 表名 add|change|drop 列名 类型;

alter table 表名 add 列名 类型;          # 添加某一列
alter table 表名 change 原列名 新列名 类型;          # 修改表的列属性名
alter table 表名 drop 列名;       # 删除表的某一列
alter table 表名 rename 新表名;     #修改表名
  • 删除表
drop table 表名;
  • 查看表结构
desc 表名;

数据操作 CURD


  • 查询
select * from 表名;
也可查询某个具体列的内容,如:
select name from Stu;
  • 增加
全列插入:insert into 表名 values(...);
缺省插入:insert into 表名(列1,列2,...) values(值1,值2,...);
缺省插入:insert into 表名 set filed1=value1,filed2=value2,...;
同时插入多条数据:insert into 表名 values(...),(...),...;

主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

  • 修改
update 表名 set 列1=值1,... where 条件;
  • 删除
delete from 表名 where 条件;

外键


MySQL创建关联表可以理解为是两个表之间有个外键关系,但这两个表必须满足三个条件
1.两个表必须是InnoDB数据引擎
2.使用在外键关系的域必须为索引型(Index)
3.使用在外键关系的域必须与数据类型相似
外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作

此处以表stu与表tea为例:

  • 定义外键

FK_TEAID代表外键名,可不写,系统会自动生成;

teaid 为当前表用于接受外表id的列名;

ON DELETE RESTRICT ON UPDATE RESTRICT代表删除时和更新时的限制,有需要时写。

constraint FK_TEAID foreign key (teaid) references tea (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
  • 添加外键
alter table stu add constraint FK_TEAID foreign key(teaid) references tea(id);
  • 删除外键
alter table stu drop foreign key FK_TEAID;

数据备份与恢复


  • 进入mysql库目录
运行mysqldump命令
mysqldump -uroot -p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码
  • 数据恢复
连接mysql,创建数据库(确保数据库存在)
退出连接,执行如下命令
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码

数据库的授权


需要使用 root 账户,或者有权限创建账户的账户

% 代表所有用户可以连接;localhost代表只有本地可以连接。

创建xxx账户并授权(*.*  可管理全部数据库,第一个 * 代表所有数据库,第二个 * 代表所有表)

grant all on *.* to xxx@localhost identified by '1234';
或
grant all on *.* to xxx@'%’ identified by '1234';

创建xxx账户并授权(只可查看(select)  db 数据库中的 stu 表)

grant select on db.stu to xxx@localhost identified by '1234';
  • 删除用户
use mysql
delete from user where user ='xxx';
  • 修改密码
use mysql
update user set password=password('新密码') where User="xxx";

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值