暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL基础命令汇总

全栈精英 2021-07-21
219

登录:

格式:mysql -h 机器名 -u用户名 -p密码(密码与p之间无空格)

如:mysql -u root -p123

       mysql -h localhost -u root -proot  参数的顺序可以打乱

        mysql -h localhost -u root -p school 登录到指定的数据库同时密码单独的隐藏输入

退出:quit

修改root的密码:

不登录直接使用

mysqladmin –u root –h localhost –p password 新密码,先输入原密码,再输入新密码

建库:

  • 创建school数据库

    • create database school;

  • 如果school数据库不存在,则创建它,并显示设置字符集,默认是utf8

    • create database if not exists school character set gbk;    

  • 显示创建school数据库的具体内容

    • show create database school;  

  • 刷新数据库,创建用户和修改权限后要刷新数据库

  • flush privileges;  

  • 切换到当前的数据库为school

    • use school;

  • 显示所有数据库

    • show databases;

  • 显示所有表

    • show tables;  

  • 显示user表的所有列信息

    • desc user;    

  • 删除school数据库

    • drop database school;  

关于数据类型

数字类型

int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系

如 year int(4), 年份是4位数字的宽度。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间

decimal最大取值范围与double相同,但其有效的取值范围由M和D的值决定。它实际以字符串的方式存储

注意:float、double也可以指定精度,如 x float(5,1),y double(5,1),是非标准SQL用法

文本类型

 char(4),不管放多少数据,都只有4位,4字节长

 varchar(4),最长4位,5个字节,如果存放3位字符串,如:’abc’,只有4个字节

 Text,最长65535个字符

枚举类型

 enum(‘a’,’b’,’c’):是一个字符串对象,可取的值有,a,b,c,’’,null。enum列总有一个默认值,如果将enum列声明为null,null值则为该列的一个有效值,并且默认值为null。如果enum列被声明为not null,其默认值为允许的值列表的第一个元素。

 set(‘值1’,’值2’,’值3’):是一个字符串对象,在内部与enum相同用的是整数表示。意思是只能插入值1~值3任意组合的数据,如果有重复的自动删除。如:insert into table1 values(‘值1’),(‘值1, 值2’) ,(‘值1, 值2, 值3’)  

 enum与set的区别是:enum取单值,set取多值

创建表 

    -- 切换到school数据库
    use school;
    -- 如果customers表存在则删除
    DROP TABLE IF EXISTS customers;
    -- 如果customers 不存在则创建
    CREATE TABLE IF NOT EXISTS customers
    (
    cu_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    cu_name VARCHAR(50) NOT NULL,
    cu_amount FLOAT(4,2),
    cu_sex ENUM('男','女') DEFAULT '男',
    cu_level SET('一级会员','二级会员','华中区','华南区')
    );

    修改表的结构

    •     重命名表 :alter table t1 rename t2;

    •     修改列 :alter table t1 modify   新列名  char(70) not null;

    •     加一列 :alter table t1 add tax float(6,2) after amount;

    •     删一列 :alter table t1 drop tax;

    •     添加索引 :alter table t1 add index(列名);

    •     添加主键 alter table t1 add 主键约束名 primary key(列名)

    •     添加外键 alter table t2 add foreign key(orderid) references t1(o_id);

    •     唯一约束 alter table table2  add  unique key (列名1, 列名2);

    •     默认约束 alter table table2 alter  price  set  default   1234.33    

          说明:price是float(6,2)数据类型

    查询

    • 基本同ANSI SQL,有些不同的如下:

    • 取前4行数据:select * from t1  limit 4;

    • 从第2行开始查询三行:select * from t1   limit 2, 3;

    • 注意:limit 1,1 返回第二行,而不是第一行

    • 子查询必须要有别名:  select * from (select * from table1 where id=123) as t1;


    文章转载自全栈精英,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论