mysql基础语法

数据库相关语法

查看库: show databases;

创建库: create database test01;(database name)

切换库: use test01;

删除库: drop database test01;

表相关语法

查看当前库的所有表:show tables;

创建表:

CREATE TABLE tb_user (

       id VARCHAR (32) NOT NULL COMMENT '主键id,使用32位uuid',

       user_name VARCHAR (30) DEFAULT NULL,

       sex TINYINT (1) DEFAULT 0 COMMENT '性别:0——女 1——男',

       PRIMARY KEY (id)

);

查看表结构desc tb_user;

查看建表语句:show create table tb_user;

修改表名:alter table tb_user rename t_user;

添加字段:alter table t_user add column phone varchar(20) default null;

删除字段:alter table t_user drop phone;

修改字段:alter table t_user modify sex tinyint(1) default 1;

Insert、delete、update、select

指定表插入数据。

insert into t_user (id,user_name,sex) values ('00003d25376045c3bc31d5db9f214141','zs',1);

或字段按顺序全部插入insert into t_user values ('00003d25376045c3bc31d5db9f214141','zs',1);

查询表数据:

Select       选择那些列

From         指定数据表

Where        行必须满足的条件

Group by     如何对结果进行分组

Order by     如何对结果进行排序

Distinct    在结果中去除重复行

例子:根据心别进行查询,并根据名字去重(不推荐使用Distinct去重,消耗性能)

select distinct(user_name) from t_user where sex = 1;

删除数据表记录:

删除pet表下的name=hzy这一行。

Delete from t_user where user_name=“ll”;

清空整个数据表

Delete from t_user;

用update修改记录:

例:在t_user表中,修改user_name为 ”zs“ 的sex的值

UPDATE t_user SET sex=0 WHERE user_name='zs';

索引

查看索引

show index from user; 查看user表的索引。

创建索引

create index idx_name on user (name); 使用create在user表中创建idx_name索引

ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。

ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。

ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。

ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。

删除索引

drop index idx_name on user;  在user表中删除idx_name索引。

 

使用Explain进行分析sql的性能

使用

只需要在执行的sql前面加上explain即可。(explain select * from user;)

Explain相关信息详解

Id

select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序.数字越大越先被执行。相同级别由上往下执行。

Select_type

查询类别

Table

显示这一行的数据是关于哪张表的

Type

显示查询使用了何种类型(级别从上至下)

Possible_keys

显示可能应用在这张表中的索引,一个或多个。

查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用

Key

实际使用的索引。如果为NULL,则没有使用索引

覆盖索引就是查询的字段与建立的索引相同,只需要查询索引就可以得到结果。

Key_len

表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。

Ref

显示索引的哪一列被使用了,如果可能的话,是一个常数。哪些列或常量被用于查找索引列上的值

Rows

rows列显示MySQL认为它执行查询时必须检查的行数。

Extra

包含不适合在其他列中显示但十分重要的额外信息

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值