MySQL_day1

目录

[快捷键]

# ### part1

# (1) 登录

# (2) 退出

# ### part2

# 查询当前登录用户

# 设置密码

# 去除密码

# ### part3

# 给具体某个ip设置一个账户连接linux

# 给具体192.168.126.% 这个网段下的所有ip设置账户

# 给所有ip下的主机设置账户

# ### part4 [必须熟练]

# (1) 操作数据库 [文件夹]

增:

查:

改:

删:

# (2) 操作数据表 [文件]

增:

查:

改:

删:

# (3) 操作记录 [文件的内容]

增:

查:

改:

删:

# ### part5 常用数据类型


[快捷键]

快捷键:ctrl + l 清屏

快捷键:ctrl + c 终止

exit  : 退出数据库

\q    : 退出

\G    : 垂直显示

[linux] mysql服务命令

service mysql stop

service mysql start

service mysql restart

[windows] mysql服务命令

net stop mysql

net start mysql

# ### part1

登录的完整语法

# (1) 登录

mysql -u用户 -p密码 -hip地址

mysql -uroot -p -h默认本地ip  

localhost => 127.0.0.1

# (2) 退出

exit  或者  \q

# ### part2

# 查询当前登录用户

select user()

# 设置密码

set password = password("123456")

# 去除密码

set password = password("");

# ### part3

VMnet8: nat

VMnet1:host-only

ipconfig [windows] ifconfig[linux]

# 给具体某个ip设置一个账户连接linux

create user "ceshi100"@"192.168.126.1" identified by "111";

# 给具体192.168.126.% 这个网段下的所有ip设置账户

create user "ceshi101"@"192.168.126.%" identified by "222";

# 给所有ip下的主机设置账户

create user "ceshi102"@"%" identified by "333";

USAGE 没有任何权限

# 查看具体某个ip下的用户权限

show grants for "ceshi102"@"%";

+--------------------------------------+

| Grants for ceshi102@%                |

+--------------------------------------+

| GRANT USAGE ON *.* TO 'ceshi102'@'%' |

+--------------------------------------+

# 授权语法

grant 权限 on 数据库.表 to "用户名"@"ip地址" identified by "密码";

"""

select  查询数据的权限

insert  添加数据的权限

update  更改数据的权限

delete  删除数据的权限

*       所有

"""

# 授予查询权限

grant select,insert on *.* to "ceshi102"@"%" identified by "333";

# 授予所有权限

grant all on *.* to "ceshi102"@"%" identified by "333";

# 移除删除权限(删除数据库/表)

revoke drop on *.* from "ceshi102"@"%"

# 移除所有权限

revoke all on *.* from "ceshi102"@"%"

# 刷新权限,立刻生效

flush privileges

# ### part4 [必须熟练]

"""

mysql命令中,不区分大小写

[linux]路径

sudo find / -name db001

sudo su root 切换到最高权限账户 cd mysql

/var/lib/mysql/数据库...

[windows]路径

D:\MySQL5.7\mysql-5.7.25-winx64\data

"""

# (1) 操作数据库 [文件夹]

增:

    # 创建数据库

    create database db001 charset utf8;

查:

    # 查看数据库

    show databases;

    # 查看建库语句;

    show create database db001;

    +----------+----------------------------------------------------------------+

    | Database | Create Database                                                |

    +----------+---------------------------    -------------------------------------+

    | db001    | CREATE DATABASE `db001` /*!40100 DEFAULT CHARACTER SET utf8 */ |

    +----------+----------------------------------------------------------------+

    CREATE DATABASE `db002` /*!40100 DEFAULT CHARACTER SET utf8 */

改:

    alter database db002 charset gbk;   

删:

    # 删除数据库

    drop database db001

# (2) 操作数据表 [文件]

增:

    # 选择数据库

    use db001

    # 创建表

    create table t1(id int , name char);

   

查:

    # 查看所有表

    show tables;

    # 查看建表语句

    show create table t1;

    """

Table: t1

Create Table: CREATE TABLE `t1` (

  `id` int(11) DEFAULT NULL,

  `name` char(1) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

    """

    # 查看表结构

    desc t1;

    +-------+---------+------+-----+---------+-------+

    | Field | Type    | Null | Key | Default | Extra |

    +-------+---------+------+-----+---------+-------+

    | id    | int(11) | YES  |     | NULL    |       |

    | name  | char(1) | YES  |     | NULL    |       |

    +-------+---------+------+-----+---------+-------+

改:

    # modify 只能改变类型

    alter table t1 modify name char(5);

    # change 改变类型+字段名

    alter table t1 change name  name123 char(4);

    # add 添加字段

    alter table t1 add age int;

    # drop 删除字段

    alter table t1 drop age;

    # rename 更改表明

    alter table t1 rename t1111111;

删:

    drop table t1;


 

# (3) 操作记录 [文件的内容]

增:

    # 一次插入一条数据

    insert into t1(id,name) values(1,'abcd');

    # 一次插入多条数据

    insert into t1(id,name) values(2,"王文"),(3,"刘文波"),(4,"康裕康"),(5,"张保障");

    # 不指定具体字段,默认把字段全部插一遍

    insert into t1 values(6,"沈思雨");

    # 可以具体指定某个字段进行插入

    insert into t1(name) values("张宇");

查:

    # * 所有

    select * from t1;

    # 查询单个字段

    select id from t1;

    # 查询多个字段

    select id,name from t1;

改:

    # update 表名 set 字段=值 where 条件

    update t1 set name="王伟" where id = 2;

    # 不加条件有风险,一改全改,一定加where

    update t1 set name="王伟" ;

删:

    # 删除的时候,必须加上where

    delete from t1 where id = 1;

    # 删除所有数据,一删全删,一定加where

    delete from t1;

    # 删除所有 (数据+重置id)

    truncate table t1;

# ### part5 常用数据类型

# 整型

tinyint  1个字节  有符号范围(-128~127) 无符号(0~255) unsigned   小整型值

int      4个字节  有符号范围(-21亿 ~ 21亿左右)  无符号(0~42亿) 大整型值

    create table t3(id int , sex tinyint);

    insert into t3(id,sex) values(4000000000,127) error out of range

    insert into t3(id,sex) values(13,128) error  Out of range

    insert into t3(id,sex) values(13,127);


 

# 浮点型

float(255,30)   单精度

double(255,30)  双精度

decimal(65,30)  金钱类型 (用字符串的形式来存储小数)

    create table t4(f1 float(5,3) , f2 double(5,3) , f3 decimal(5,3) );

    insert into t4 values(1.7777777777777777777777777,1.7777777777777777777777777,1.7777777777777777777777777);

    insert into t4 values(11.7777777777777777777777777,11.7777777777777777777777777,11.7777777777777777777777777);

    insert into t4 values(111.7777777777777777777777777,111.7777777777777777777777777,111.7777777777777777777777777); error out of range

    insert into t4 values(1.7,1.7,1.7); error  整数位最多保留2位 , 小数位最多保留3位;存在四舍五入

   

    # float 小数位默认保留5位,double 小数位默认保留16位,decimal 默认保留整数,四舍五入

    create table t5(f1 float , f2 double , f3 decimal);

    insert into t5 values(1.7777777777777777777777777,1.7777777777777777777777777,1.7777777777777777777777777);

   

   

    create table t6(f1 float(7,3));

    insert into t6 values(1234.5678);

    +----------+

    | f1       |

    +----------+

    | 1234.568 |

    +----------+

    # 整数位最多保留4位,小数位最多保留3位

    # 默认double保留的小数位更多,float保留的小数位少;decimal保留整数位

    insert into t6 values(12345.67);


 

# 字符串 char(字符长度)  varchar(字符长度)

char(11)         定长:固定开辟11个字符长度的空间(手机号,身份证号),开辟空间的速度上来说比较快,从数据结构上来说,需谨慎,可能存在空间浪费. max = 255

varchar(11)      变长:动态最多开辟11个字符长度的空间(评论,广告),开辟空间的速度上来说相对慢,从数据结构上来说,推荐使用,不存在空间浪费 max > 255

text             文本类型:针对于文章,论文,小说. max > varchar

    create table t7(c char(11), v varchar(11) , t text);

    insert into t7 values("11111","11111","11111");

    insert into t7 values("你好啊你好啊你好啊你好","你好啊你好啊你好啊你好","你好啊你好啊你好啊你好");

    # concat  可以把各个字段拼接在一起

    select concat(c,"<=>",v,"<=>",t) from t7;


 

# 数据库内部方法

select user()

select concat()

select database()

select now()

# 枚举和集合

enum  枚举 : 从列出来的数据当中选一个 (性别)

set   集合 : 从列出来的数据当中选多个 (爱好)

# 正常写法

# 自动去重

# 异常写法 : 不能选择除了列出来的数据之外的其他值 error 报错





 

相关推荐

  1. nvm1.1.11

    2024-04-25 06:16:07       52 阅读
  2. 1.下午试题1

    2024-04-25 06:16:07       29 阅读
  3. HTML-1

    2024-04-25 06:16:07       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 06:16:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 06:16:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 06:16:07       87 阅读
  4. Python语言-面向对象

    2024-04-25 06:16:07       96 阅读

热门阅读

  1. 在Docker中运行Jenkins容器:从入门到实践

    2024-04-25 06:16:07       32 阅读
  2. 各种类型游戏的乐趣与魅力

    2024-04-25 06:16:07       30 阅读
  3. 架构师系列-Nginx、OpenResty(三)- 负载均衡配置

    2024-04-25 06:16:07       30 阅读
  4. MySQL的数据类型

    2024-04-25 06:16:07       34 阅读