加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

day37:MySQL基本操作

发布时间:2020-12-20 09:57:44 所属栏目:Python 来源:网络整理
导读:目录 part1:登录mysql的完整语法 part2:查询用户/设置密码/去除密码 part3:给ip/网段/所有ip设置账号密码 part4:查看权限 part5:添加权限/删除权限/删除用户 part6:操作数据库:database part7:操作表:table part8:操作表中的数据(记录) part9:MySQL中数据类

目录

part1:登录mysql的完整语法

part2:查询用户/设置密码/去除密码

part3:给ip/网段/所有ip设置账号密码

part4:查看权限

part5:添加权限/删除权限/删除用户

part6:操作数据库:database

part7:操作表:table

part8:操作表中的数据(记录)

part9:MySQL中数据类型

part10:枚举和集合

part1:登录mysql的完整语法

# (1) 登录mysql语法 默认root账户 是系统最高权限用户
mysql -uroot -p 

127.0.0.1 =>localhost 本地ip地址
 (2) 退出mysql
exit 或者 q

 (3) 远程连接mysql服务器
mysql -uroot -p -h192.168.65.135

part2:查询用户/设置密码/去除密码

 查询当前登录的用户是谁
select user()

 设置密码
set password = password("123456")

 去除密码
set password = password("")

part3:给ip/网段/所有ip设置账号密码

 给具体某个ip设置账号密码,用来访问数据库(公网ip)
create user 'ceshi100'@192.168.65.1' identified by 333';

 给具体某个网段下的所有ip设置共同的账号密码,用来访问数据库(公网ip) %代表任意的ip 0~255
create user ceshi101192.168.174.%'  identified by 444 所有的ip都可以登录到服务器数据库中
create user ceshi102%555';

part4:查看权限

 刷新权限,立刻生效
flush privileges

 查看哪个ip哪个用户的权限
'''USAGE 没有任何权限'''
show grants for ;
+--------------------------------------+
| Grants for ceshi102@%                |
+--------------------------------------+
| GRANT USAGE ON *.* TO ' |
+--------------------------------------+

part5:添加权限/删除权限/删除用户

grant 权限 on 数据库.表名 to 用户名'%ip地址密码'

"""
# 主要权限
select 查看数据表的权限
insert 插入数据表的权限
update 更新数据表的权限
delete 删除数据表的权限
drop   删除数据库的权限
*      代表所有
"""

grant select,drop on *.* to "

 all 代表所有权限
grant all on *.* to  移除权限
# 单个
revoke drop on  *.* from '
 所有
revoke all on  *.* '

 删除用户
drop user '

part6:操作数据库:database

 (1) 操作[数据库] (文件夹)
'''
     创建一个数据库
    create database db0824 charset utf8;

 查看所有数据库
    show databases
查看建立数据库的语句 show create database db0824 CREATE DATABASE `db0824` /*!40100 DEFAULT CHARACTER SET utf8 */ alter database db0824_1 charset gbk drop database db0824_1;

part7:操作表:table

 (2) 操作[数据表] (文件) 先选择数据库
    use 数据库名

 字段名1 类型1,字段名2 类型2,... ... 
    create table t1(id int,name char);

 查看所有表 
    show tables;
     查看建表语句 配合G 可以垂直显示
    show create table t1;
    
    Create Table: CREATE TABLE `t1_1` (
      `id` int(11) DEFAULT NULL,`name` char(1) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    """
    
     查看表结构
    desc t1

 modify 只能改变数据类型
    alter table t1 modify name char(5)
     change  连字段名 + 类型一起改变
    alter table t1 change name newname char(4 add 添加字段
    alter table t1 add age int;
     drop 删除字段 column列
    alter table t1 drop column age
     rename 更改表名
    alter table t1 rename t1_2
    

    drop table t1_2;

part8:操作表中的数据(记录)

 (3) 操作[记录] (文件中的数据)
 一次插入一条数据
    insert into 表名(字段1,字段2,...) values(值1,值2,.... )
    insert into t1_1(id,name) values(1,xboy1);

     一次插入多条数据
    insert into t1_1(id,name) values(2,1)">xboy2"),(3,1)">xboy3xboy4 不指定具体字段插入(默认把所有字段对应的值插一遍)
    insert into t1_1 values(5,1)">xboy5 指定单个字段插入数据
    insert into t1_1(name) values(xboy6);    

 * 代表所有
    select * from t1_1;

     指定字段进行查询
    select id,name  t1_1;
    
 update 表名 set 字段=值  where 条件
    update t1_1 set name=王闻你真帅" where id = 1

     切记更改时,加上条件,否则全都改掉了
    update t1_1 set name=" 

 指定id=2的这条数据删除
    delete from t1_1 where id = 1

     如果不加条件,删除所有数据
    delete  t1_1 
    
     重置数据表 (删除数据 + 重置id)
    truncate table t1_1;

part9:MySQL中数据类型

1.整型

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

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

create table t1(id int,age tinyint );
insert into t1 values(2200000000,1)   error
insert into t1 values(2100000000,1) 
insert into t1 values(2100000000,128)   error
insert into t1 values(2100000000,127)  

2.浮点型

float(255,30) 单精度,总长度最多255位,小数长度最多30位,整数长度最多225位

double(255,30) 双精度,总长度最多255位,小数长度最多30位,整数长度最多225位

decimal(65,30) 金钱类型,使用字符串的形式保存小数,总长度最多65位,小数长度最多30位,整数长度最多35位

默认存在四舍五入
    create table t2(f1 float(5,2),f2 double(5,f3 decimal(5,2));
    insert into t2 values(1.77777777777777777777777777,1.77777777777777777777777777,1.77777777777777777777777777);

存储结果如下图所示

float 默认小数保留5位,double小数位截取16位,decimal(10,0) 默认保留整数,存在四舍五入
    create table t3(f1 float,f2 double,f3 decimal); 
    insert into t3 values(1.77777777777777777777777777,1.77777777777777777777777777);

存储结果如下图所示

3.字符串类型

char 字符长度 255个

varchar 字符长度 21845个 (注意:总字节数不超过65535)

char(11) 定长 : 固定开辟11个字符长度的空间(手机号,身份证号,银行卡),开辟空间速度上char速度更快

varchar(11) 变长 : 最多开辟11个字符长度的空间(评论,消息留言,地址),开辟速度相较于char慢一点.

text 文本类型,存论文,小说,文章..

    create table t5(c char(11),v varchar(11),t text);
    insert into t5 values(22222',1)">33333",1)">44444);
    insert into t5 values(33333333333333333333");   error
    
     concat 拼接任意长度的字符串
    select concat(c,1)">: t5;

     mysql 中函数
    select user()
    select concat()
    select concat(参数1,参数2,参数3,... ) 把所有的参数拼接在一起

concat拼接后的结果如下图所示

part10:枚举和集合?

enum 枚举 : 从列出来的数据当中选一个,比如性别

set 集合 : 从列出来的数据当中选多个(自动去重),比如爱好

    create table t6(
    id int,name varchar(10男性女性禽兽人妖雌雄同体半兽人阿凡达吃肉抽烟喝酒喝假酒)
    );


     正常
    insert into t6(id,name,money,sex,hobby) values(1,1)">克拉伊买买提喝假酒,抽烟);
     自动去重
    insert into t6(id,抽烟,1)">");

存储结果如下图所示

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读