mysql语句

常用sql语句

1、查询某个库信息

查看mysql某个库中所有表的大小和记录数

SELECT TABLE_NAME,DATA_LENGTH,INDEX_LENGTH,(DATA_LENGTH+INDEX_LENGTH) as length,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,3), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='database_name' order by length desc

说明:
TABLE_NAME :表名字;
DATA_LENGTH : 数据大小;
INDEX_LENGTH :索引大小;
TABLE_ROWS : 记录数量;
TABLE_SCHEMA : 数据库名字; ENGINE:所使用的存储引擎;
information_schema:是mysql自带的,它提供了访问数据库元数据的方式,元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
一个表占用空间的大小,相当于是 数据大小 + 索引大小;

2、查询进程:

show full processlist;

看到很多waiting的process,说明已经有卡住的proces了。查看status是否有ID被锁,如果被锁,杀死ID:

kill 3366

3、查询正在运行的事务

SELECT * FROM information_schema.INNODB_TRX

trx_mysql_thread_id字段为事务执行的线程

用户管理

1. 创建用户

create user '用户名'@'网络地址' identified by ’密码‘;

2. 用户授权

grant all on *.* to '用户名'@'网络地址';

3、查询用户权限

 show grants for 用户名;

库管理

1. 创建库

默认字符集为UTF8

create database 库名 charset utf8;

2. 查看库

show create database 库名\G

3. 修改库

只能修改数据库的默认字符编码

alter database 库名 charset gbk;

4. 删除库

删除数据库,所有的表及数据都会被删除,不可恢复

drop database 库名;

表管理

1.创建表

create table 表名(
name varchar(10),
gender char(1)
) engine=innodb charset=utf8;

2. 查看表

查看表结构

desc tb1;

查看建表语句

show create table tb1\G

3. 修改表

改表名

rename table 源表名 to 目标表名;

改表属性:
修改存储引擎(innodb或myisam)
修改字符编码(gbk或utf8)

alter table user
engine=myisam charset=gbk;

加字段
first 第一个
after 指定字段之后
默认新加字段排在已有字段后面

alter table 表名 add
新加字段 字段类型 first;
alter table 表名 add
新加字段 字段类型 after 指定字段;
alter table 表名 add(
新加字段1 字段类型,
新加字段2 字段类型
);

改字段名

alter table 表名
change 旧字段 新字段 字段类型;

改字段属性

alter table 表名
modify 字段 新字段类型;

改字段顺序

alter table 表名
modify 字段 字段类型 after 指定字段;

删除字段
删除的字段,对应数据也会删除,不可恢复

alter table user
drop column 字段;

4. 删除表

数据不可恢复

drop table 表名;
drop table if exists 表名;

5.截断表

数据不可恢复

truncate table user;

drop、truncate、delete的区别:
drop为DDL,操作立即生效,不能回滚。删除的是整个表(结构和数据);
truncate为DDL,操作立即生效,不能回滚。清空表数据,不会触发触发器;
delete为DML,删除的每行数据都要记录在redo和undo表空间中以便进行回滚。

SQL

Structured Query Language结构化查询语言

1.DDL

数据定义语言
建库、建表

2.DML

数据操作语言
增删改

insert into 表名(字段1,...) values(字段值1,...)
delete from 表名 where 字段='字段值';
update set 字段1='字段值' where 字段2='字段值';

3.DQL

数据查询语言

select * from 表名 where 字段='字段值';

技术术语

数据库:database、schema
表:table
数据:row、record
字段:field

存储引擎

innodb(默认)
支持事务;
支持外键;
支持行级锁;
优势:有较多修改操作

myisam
不支持事务;
不支持外键;
支持表级锁;
优势:很少修改的表,大量查询效率高

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

twdnote

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值