mysql基础语法

    xiaoxiao2023-10-22  162

    数据库相关语法

    查看库: 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

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

     

    最新回复(0)