c mysql命令行_MySQL 命令行操作教程

1.登录mysql

[root@host]# mysql -u root -p

Enter password:******

89f5fddc9ab9e9c97076d7ef812b0d3c.png

2.管理MySQL的命令

(1)SHOW DATABASES:

列出 MySQL 数据库管理系统的数据库列表。

116ee02775c5f582796cf985af6b30c5.png

(2)USE 数据库名 :

选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

8a63e4abd29c752b5765fbda67c77ae4.png

(3)SHOW TABLES:

显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

7216863f9dcdae90addc8c2fa1cc7450.png

(4)SHOW COLUMNS FROM 数据表:

显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

77d1bf02be46f086875ebbbb6e3f573a.png

(5)SHOW INDEX FROM 数据表:

显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

f54a4bd317ab62a2733c0a30dd29fe0f.png

(6)SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:

该命令将输出Mysql数据库管理系统的性能及统计信息。

mysql> SHOW TABLE STATUS FROM RUNOOB; # 显示数据库 RUNOOB 中所有表的信息

mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob开头的表的信息

mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查询结果按列打印

bdc635e599c1574a70e518de12d973b5.png

3.DDL 操作表

(1)创建部门表

create table t_dept(dept_id int primary key auto_increment,dept_name varchar(20) not null);

d39aa0c5870a70aeeef15839878f5215.png

(2)创建员工表

drop table if exists t_emp; 如果这个表存在删除后重新创建

create table t_emp(emp_id int primary key auto_increment,emp_name varchar(20) not null,emp_sex char(3) not null,dept_id int not null);

1380e4f4af5b48f2a3792eb69bcbd642.png

(3)添加外键约束

alter table t_emp add constraint FK_EMP_DEPT foreign key(dept_id) references t_dept(dept_id);

a2ef44ab58447e4cd67ee196fb439aa6.png

(4)给员工表添加薪资列

alter table t_emp add(emp_salary int(5) not null);

alter table t_emp add(emp_mail varchar(30) not null);

-- 如果增加一列,并且这一列有默认值,而且是非空列

alter table t_emp add (emp_mail varchar(30) not null default 'default@mail.com');

167717634a6b2ed412bac556fe6f4d32.png

3a1a2a9edee041781670d17c27ce8e25.png

(5)修改列 [modify只能修改列的类型和约束默认值,change可以修改列的名及类型和约束]

alter table t_emp modify emp_salary double(6,1) not null; // 99999.9

alter table t_emp change emp_salary salary double(5,1) not null;

223a28af854ad66440db5d7698d107c3.png

9cd258957fc00300934143f3c0e10c36.png

(6)删除列

alter table t_emp drop emp_mail;

c0de6c3ea8b02647efca7fe7b68d802b.png

(6重命名表名

alter table t_emp rename to tb_emp;

94bd494fec024e21efb3ccd8207f5b09.png

4.DML(数据操作语言INSERT, DELETE, UPDATE)

主要对数据库中表的数据操作

1.增加数据(insert into 表名名称(字段名1,字段名2,.....) values (值1,值2,.....);)

-- 插入指定字段的值-> 前提: 没有插入的字段是可以为null或者有默认值

insert into tb_emp (emp_name, emp_sex, emp_mail) values ('信誉昂','男','xinyang@hp.com');

-- 插入所有字段

insert into tb_emp (emp_name, emp_sex, dept_id, salary, emp_mail) values ('张三','女',2,5000,'zhangsan@hp.com');

insert into tb_emp values (null,'大乔','女',2,5000,'zhangsan@hp.com');

-- 批量插入

insert into tb_emp values (null,'赵柳','男',2,5000,'zhangsan@hp.com'),(null,'阳阳','女',2,6000,'zhangsan@hp.com');

f39c96a99171db5d9b5807c36682cb07.png

2.删除数据(delete from 表名 )

-- 按照条件删除(经常使用)

delete from tb_emp where emp_id = 1;

-- 删除所有数据(学习的时候尝试一下,开发中禁止使用)

delete from t_login; -- 删除表中所有数据,不会重置主键值

-- 清空表,重置主键值

truncate table t_login;

3934bc0e72648df8f208fb86094c5046.png

3.修改数据(update 表名 set 字段名1 = 值1, 字段名2 = 值2,..... [where 修改条件])

-- 修改字段值

update tb_emp set emp_mail='daqiao@hp.com' where emp_id = 10002;

update tb_emp set emp_mail='xiaoqiao@hp.com',dept_id = 1 where emp_id = 10001;

--不带条件的修改[修改必须带上条件]

update tb_emp set salary = 8000;

ae87160b8fb5d55a9cfba4467cc298a8.png

5.DCL(数据控制语言)

(1)创建用户(CREATE USER '账号'@'主机名/IP' IDENTIFIED BY '密码';)

// 没有任何操作数据表的权限

create user 'sun'@'localhost' identified by '123';

b3930e0306e7b1d5b5fe312485b14e2e.png

(2)授予用户权限(GRANT privileges ON databasename.tablename TO 'username'@'host')

注意: host必须和创建用户使用host是一致。

// 授予sun用户拥有testdb数据中tb_emp表查询权限

grant select on test.tb_emp to 'sun'@'localhost';

dafa19091f667da337503b6e208420e8.png

(3)撤销用户权限(REVOKE privileges on databasename.tablename from 'username'@'host')

// 撤销sun用户查询权限

revoke select on test.tb_emp from 'sun'@'localhost';

7921b3a0e55df807cdac7728cb501e5f.png

1、show variables like 'autocommit' --查询事务是否为自动提交

2、set autocommit = 0; -- 关闭自动提交

set autocommit = on;

注意: 数据中默认是一条SQL语句为一个事务。

事务生命周期:全部提交或者回滚事务的生命周期结束

事务开始 -> 回滚事务 rollback

事务开始 -> 提交事务 commit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值