MySQL指令

时间:2023-11-26 23:53:50

在mysql里:文件夹就是数据库      文件就是表

创建用户:

  格式:create user '用户名'@'IP地址' identified by '密码';

    说明:IP地址是用来限制用户只能在哪些计算机上登陆。

        ‘168.10.1.1’  只能在这台机上登陆

        可以用%来代替任意,‘168.10.1.%’     ‘168.10.%’     ‘%’

  MySQL指令

授权:

  限制用户只能查看哪些文件夹或文件

  格式:grant 权限 on 文件夹或文件 to 用户;

    权限:    比如:select,insert   给予查找、插入权限

        select 查找    insert 插入    update 更新        delete 删除

        all privileges   所有权限(privileges 可以省略)

    文件夹或文件:lm.*      表示lm文件夹下的所有文件和文件夹

               lm.t1    表示lm文件夹下的t1文件

    用户:'lm68140318'@'%'         注意带上IP地址

  MySQL指令

  此时可以再开一个CMD,登陆刚刚创建的账户MySQL指令

  此时可以show databases;   查看此账户的文件夹MySQL指令   只有lm了

取消授权:

  revoke all on *.* from '用户名'@'IP地址';

  MySQL指令

查看权限:
  格式:show grants for '用户'@'IP地址';  MySQL指令

删除用户:

  格式:drop user '用户名'@'IP地址';

修改用户名:

  格式:rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

 操作文件夹或文件:

  创建文件夹   create database lm default charset utf8;     在data文件夹下创建lm文件夹

  显示所有数据库:show databases;    MySQL指令

      lm是用户创建的文件夹,其它三个是系统用的文件夹

  进入数据库:   ues mysql   MySQL指令

  删除文件夹:drop database 文件夹名   MySQL指令

  查看文件:show tables;

    其中user文件是用来保存用户的用户名、密码等信息的

  创建文件 :

    create table t1(id int,name char(10)) engine=innodb default charset=utf8;

      t1是文件名    id是列名     int是数据类型    char表示字符串类型最多10个字符(超过10个只取前10个)

    MySQL指令

      在数据类型后面可以加上null或者not null,表示此列的数据是否可以为空,null可以为空

            例:create table t1(id int null,name char(10)) engine=innodb default charset=utf8;

      还可以加上默认值:default 1

      AUTO_INCREMENT 定义列为自增的属性,数值会自动加1,只能有一列是自增列

      PRIMARY KEY   不能重复  不能为空    加速查找

      例子  create table t1(id int not null auto_increment primary key,name varchar(10))  engine=innodb default charset=utf8;

  删除文件:    drop table t1;

数据类型:

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型:

数值类型:

类型 大小 范围(有符号) 范围(无符号) 用途
tinyint 1字节 (-128,127) (0,255) 小整数值
bigint 8字节 (-9223372036854775808,9223372036854775807) (0,18 446 744 073 709 551 615) 极大整数值

int

integer

4字节

int  signed

(-2 147 483 648,2147483647)

int unsigned

(0,4294967295)

大整数值
float 4字节   (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 单精度浮点数
double 8字节 (-1.7976931348623157 E+308,-2.2250738585072014 E-308),0,(2.2250738585072014 E-308,1.797 6931348623157 E+308) 0,(2.2250738585072014 E-308,1.7976931348623157 E+308) 双精度浮点数
decimal(m[,d])

如果M>D,为M+2否则为D+2

m是总位数,d是小数点后最多位数

     小数值
 mediumint  3字节   (-8388608,8388607)  (0,16777215)  大整数值

字符串类型:

类型 大小 用途和备注
char(n) 0-255字节 n是长度,如果不足右边用空格填充
varchar(n) 0-255字节 n是长度,如果不足不会用空格填充
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
text 0-65535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
longtext 0-4294967295字节 极大文本数据

日期和时间类型:

  

类型 大小
(字节)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS 混合日期和时间值,时间戳

    枚举类型enum:

      str enum('lm','zansan','liming')         str是枚举类型  其值只能在其中选择一个

    集合类型set:

      col set('a','b','c','d')       col是集合类型 其值只能是括号中的组合  ‘a,c’

从表中查看数据:

  格式:select * from user;

    *表示所有列也可以是列名   user是表就是文件名

    例如:查看注册用户select user from user;  MySQL指令      MySQL指令

 往文件中插入数据:

  格式:insert into t1(id,name)values(1,'张三');

    t1是文件名,id、name是列名

删除表中数据(清空):    delete from t1;     不改变自增序号.清空t1表

          truncate table t1;    自增序号回到1

          delete from t1 where id<6;   条件删除,把id<6的数据删除

修改表中数据:

          update t1 set age=18;   把t1表中age列的所有数据改成18

          update t1 set age=18 where age=17;    条件修改,把age=17的age改成18

外键:

  MySQL指令

  如图表中某列的数据只能是另一张表中某列的数据

  MySQL指令