mysql安装及增删改查操作---day35

# ### mysql
'''
命令可以用tab来补全
d:
D:\>cd MySQL5.7
D:\>cd D:\MySQL5.7\mysql-5.7.25-winx64\bin 直接切换到对应的路径
D:\>dir 来查看文件夹里面的内容
'''
cls 清屏(winodw)  ctrl+l 清屏(linux)
ctrl + c 终止

[windows] 在超级管理员权限下才能使用:
net start mysql  启动mysql
net stop mysql  停止mysql

[linux]
service mysql start  启动mysql
service mysql stop   停止mysql
service mysql restart重启mysql

# ### part1
登录完整语法:
    mysql -u用户名 -p密码 -h地址ip

#(1)登录到本地mysql 默认用户root 是最高权限用户
mysql -uroot -p
localhost => 127.0.0.1 本地Ip地址
#(2)退出mysql
\q 或者 exit
#(3) 远程连接mysql 服务器
mysql -uroot -p -h192.168.65.130


# ### part2
#查询当前登录的用户的谁
select user();
#设置密码
set password = password("123456");
#去除密码
set password = password("");

# ### part3
ipconfig windows | ifconfig linux
#windows连接远程linux中的mysql
create user "ceshi100"@"192.168.65.1" identified by "333";
#给具体某个网段下的所有ip设置账户 % 代表任意的数据 0-255
create user "ceshi11"@"192.168.111.%" identified by "111"
#所有的ip都可以登录 % 任意所有ip
create user "ceshi12"@"%" identified by "111"

'''USAGE 没有任何权限'''
mysql> show grants for "ceshi12"@"%";
Grants for ceshi12@%
Grant USAGE ON *.* TO "ceshi12"@"%"

grant 权限 on 数据库.表名 to "用户名"%"ip地址" identified by "密码"
'''
#主要权限
select 查询数据库的权限
insert 插入数据库的权限
update 更新数据库的权限
delete 删除数据库的权限
* 代表所有
'''
grant select on *.* to "ceshi12"@"%" identified by "222";
#all 代表所有权限
grant all on *.* to "ceshi12"@"%" identified by "333";
#查看所有数据库
show databases;
#移除权限
revoke all on *.* from "ceshi12"@"%";
#删除账户
drop user "ceshi12"@"%";
#刷新权限,立刻生效
flush privileges

# ### part4 
#(1) 操作数据库文件夹
#创建数据库
    create database db0616 charset utf8;
查
    #查看所有数据库
    show databases;
    #查看数据库的建表语句
    show create database db0616;
改
    # alter 更改数据库的字符集
    alter datebase db0616 charset gbk;
删
    # 删除数据库db0616
    drop database db0616;

#(2) 操作[数据库](文件)
选择数据库
    use 数据库名
增
    #int 整型 char 字符
    #字段名1 类型1,字段名2 类型2....
    create table t1(id int,name char);
查
    #查询所有数据表
    show tables;
    #查看表的建表语句
    show create table t1\G; #(加上\G 垂直显示,默认横向显示)
    #查看表结构
    desc t1;
改
    #modify  只能改变数据类型
    alter table t1 modify name char(5);
    #drop 删除字段 column列(字段,关键字)
    alter table t1 drop column age;
    #rename 更改表名
    alter table t1 rename t1_1;
删
    #删除表t1
    drop table t1_1;

#(3)操作记录(文件里面的数据)
'''mysql null 相当于 python None 是一样的 代表空的 什么也没有'''#一次插入一条数据
    '''insert into 表名(字段1,字段2...)values(值1,值2...)'''
    insert into t1(id,name) values(1,"liuwei1")
    #一次插入多条数据
    insert into t1(id,name) values(2,"liuwei2"),(3,"liuwei3"),(4,"liuwei4");
    #不指定具体字段,默认把所有字段
    insert into t1 values(5,"liuwei5");
    #可以具体指定某个字段进行插入
    insert into t1(name) values("liuwei6");

查
    #*代表所有
    select * from t1;
    #把要搜索的字段写在select 后面
    select id,name from t1;

改
    #update 表名 set 字段=值 where 条件
    update t1 set name = "刘伟" where id = 1;
    #如果不加条件,所有的数据都会被改掉
    update t1 set name = '刘伟';

删
    #删除id为2的这条数据
    delete from t1 where id =2;
    delete from t1;
    
    #重置数据表(重置id)  相当于删除
    truncate table t1;


# ### part5 常用数据类型
#整型
tinyint 1个字节 有符号(-128~127) 无符号(unsigned)(0~255) 小整型值
int     4个字节 有符号(-21亿~21亿 左右) 无符号(0~42亿左右) 大整型值
    create table t1(id int,sex tinyint);
    insert into t1 values(4000000000,127); error
    insert into t1 values(2000000000,127)

#浮点型
float(255,30) 单精度
double(255,30)双精度
decimal(65,30)金钱类型,使用字符串的形式保存小数

    '''存在四舍五入'''
    create table t2(f1 float(5,2),f2 double(5,2),f3 decimal(5,2));
    insert into t2 values(1.666666666666666666666666666,1.666666666666666666666666666,1.666666666666666666666666666)
    
    '''float 小数位默认保留5位,double小数位默认保留16位,decimal 默认保留整数位 存在四舍五入'''
    create table t3(f1 float,f2 double,f3 decimal);
    insert into t3 values(1.666666666666666666666666666,1.666666666666666666666666666,1.666666666666666666666666666)

    '''float(5,2) 5=>代表总长度(整数+小数) 2>小数长度,保留2位'''
    create table t6(f1 float(5,2));
    insert into t4 values(12.23456);
    insert into t5 values(1234.34567);

#字符串 char(字符长度) varchar(字符串) text
char(11)  定长:固定开辟11个字符长度的空间(手机号,身份证号),开辟空间的速度上说:char更快
varchar(11) 变长:最多创建字符长度为11的空间(小广告,评论)开辟空间的速度上说:相较于char稍慢
text        文本类型,针对文章,小说
    
    create table t7(c char(11),v varchar(11),t text);
    insert into t7 values("11111","圣战套祖玛套大保健你你","倚天屠龙宝刀,掉率0.00001");
    select concat(c,':',v,":",t) from t7;

#mysql
select user() #查看当前用户
#concat 拼接
select concat(参数1,参数2,参数3....) 把所有的参数拼接在一起

#枚举 和 集合
    enum 枚举:从列出来的数据当中选一个(性别)
    set  集合:从列出来的数据选多个(自动去重)
    
    create table t2(
    id int,
    name char(10),
    money float(6,2),
    sex enum("man","woman"),
    hobby set("play","smoke","drink","game")
    )
    
    #正常写法
    insert into t2(id,name,money,sex,hobby) values(1,"小白",9.777,"woman","smoke,game");
    
    #自动去重
    insert into t2(id,name,money,sex,hobby) values(1,"小白",9.777,"woman","smoke,somke,smoke");

 

posted @ 2020-06-17 06:31  我在路上回头看  阅读(131)  评论(0编辑  收藏  举报