zoukankan      html  css  js  c++  java
  • python-study-38

    破解密码

    思路:跳过授权表 密码专门的文件维护
    #1、关闭mysql
    net stop mysql
    
    #2、跳过授权
    mysqld --skip-grant-tables
    
    #3重开一个终端连接,登录进去就是root用户
    mysql
    
    4:修改密码
    update mysql.user set password=password("egon123") where user="root" and host="localhost";
    flush privileges; 只要涉及到权限修改这一条就加上
    
    5:关掉刚才跳过授权的服务
    taskkill /F /PID 9552
    
    6:启动服务
    net start mysql
    
    7:使用刚才修改的密码登录,ps:注意修改自己的配置文件
    mysql -uroot -p"egon123"
    
    
    修改用户密码: 不需要停止服务
    mysqladmin -uroot -p"123" password "1234"
    登录:
    mysql -uroot -p"1234"
    View Code

    基本的sql语句

    文件夹:库
        增
            create database db1 charset utf8; 不写默认就是utf-8
    
        删
            drop database db1;
        改
            alter database db1 charset gbk;
        查
            show databases;
            show create database db1;
    
    文件:表
        切换文件夹
            use db1;
        查看当前所在的库
            select database();
        增
            create table t1(id int,name char);
            create table db1.t1(id int,name char);
        删
            drop table t1;
        改
            alter table t1 add age int; 增加字段
            alter table t1 modify name char(15); 修改字段的数据属性
            alter table t1 change name NAME char(15); 把字段名变大写
            alter table t1 drop age;  删除字段
    
        查
            show tables;
            show create table t1;
            desc t1;
            describe t1;
    
    文件内的一行行内容:记录
        增
            insert into t1(id,name) values
            (1,'egon'),
            (2,'lxx'),
            (3,'alex');
    
        删
            delete from db1.t1 where id >= 2; 根据id删除符合条件的记录,id没了
    
            create table t2(id int primary key auto_incremnt,name char(15)); 加约束条件
            insert into t2(name) values
            ('egon'),
            ('lxx'),
            ('wxx'),
            ('axx');
    
            清空表应该使用:
                truncate t2;
        改
            update db1.t1 set name='lxx_dsb' where id=2;  修改符合条件的记录
        查
            select id from db1.t1;
            select id,name from t1;
            select name,id from t1;
            select * from t1;
            select * from t1 where id >= 2; 根据条件查
    View Code

    表字段的数据类型

    一、创建表的完整语法
    #语法:
    create table 库名.表名(
        字段名1 类型[(宽度) 约束条件],
        字段名2 类型[(宽度) 约束条件],
        字段名3 类型[(宽度) 约束条件]
    );
    约束条件:是在数据类型之外对字段附加的额外的限制
    
    #注意:
    1、最后一个字段之后不能加逗号
    2. 在同一张表中,字段名是不能相同
    3. 宽度和约束条件可选,字段名和类型是必须的
    
    二、数据类型
    #1、整型:默认是有符号的
    create table t3(x tinyint);
    
    ps:修改sql_mode为严格模式,必须重启客户端才能生效
        set global sql_mode="strict_trans_tables";
        select @@sql_mode;
    
    create table t4(x tinyint unsigned); #修改成不带符号的
    
    # 强调:整型类型后面的宽度限制的根本不是存储宽度,限制的是显示宽度
    create table t5(id int(1));
    create table t6(id int(5));
    
    #2、浮点型:
    float(255,30)
    double(255,30)
    decimal(65,30)
    
    create table t8(x float(255,30));
    create table t9(x double(255,30));
    create table t10(x decimal(65,30));
    
    insert into t8 values(1.111111111111111111111111111111);
    insert into t9 values(1.111111111111111111111111111111);
    insert into t10 values(1.111111111111111111111111111111);
    
    
    3、日期类型
    year 1999
    date 1999-11-11
    time 08:30:00
    datetime/timestamp 1999-11-11 08:30:00
    
    create table student(
        id int primary key auto_increment,
        name char(16),
        born_year year,
        birth date,
        class_time time,
        reg_time datetime
    );
    insert into student(name,born_year,birth,class_time,reg_time) values
    ('egon1',now(),now(),now(),now());
    
    insert into student(name,born_year,birth,class_time,reg_time) values
    ('egon1',2000,20001111,now(),now());
    
    insert into student(name,born_year,birth,class_time,reg_time) values
    ('egon1',2000,'2000-11-11',083000,now());
    
    insert into student(name,born_year,birth,class_time,reg_time) values
    ('egon1',2000,'2000-11-11',"08:30:00",20171111111111);
    
    insert into student(name,born_year,birth,class_time,reg_time) values
    ('egon1',2000,'2000-11-11',"08:30:00","2017-11-11 11:11:11");
    
    create table t11(x timestamp);
    create table t12(x datetime not null default now());
    
    
    4、字符类型
    # 注意:宽度指限制的是字符个数
    char:定长
        char(5)
    
    varchar:变长
        varchar(5)
    
    相同点:宽度指的都是最大存储的字符个数,超过了都无法正常存储
    不同点:
        char(5):
            'm'--->'m    '5个字符
    
        varchar(5)
            'm'--->'m'1个字符
    
    #让数据库怎么存怎么取,不自动忽略右面的空格
    set global sql_mode="strict_trans_tables,PAD_CHAR_TO_FULL_LENGTH";
    
    注意:mysql在查询时针对where 字段=""会忽略掉右面的空格,即where 字段=""
    如果时like模糊匹配就不会忽略右面的空格了
    
    char(5)
    egon |axx  |lxx  |fm   |
    
    varchar(5)
    1bytes+egon|1bytes+axx|1bytes+lxx|1bytes+fm|
    
    
    
    
    # 宽度相关练习
    mysql> create table t13(x char(5));
    Query OK, 0 rows affected (0.20 sec)
    
    mysql> create table t14(x varchar(5));
    Query OK, 0 rows affected (0.27 sec)
    
    mysql>
    mysql>
    mysql> insert into t13 values('xxxxxx');
    ERROR 1406 (22001): Data too long for column 'x' at row 1
    mysql> insert into t14 values('xxxxxx');
    ERROR 1406 (22001): Data too long for column 'x' at row 1
    
    
    5、枚举与集合类型
    枚举enum('a','b','c'):多选一
    集合set('a','b','c'):多选多
    
    create table emp(
        name varchar(15),
        sex enum('male','female','unkown'),
        hobbies set('read','music','yinshi','play')
    );
    
    insert into emp values
    ('zhangming','xxx','xxxx');
    
    
    mysql> insert into emp values('zhangming','female','read,play');
    Query OK, 1 row affected (0.03 sec)
    
    mysql> select * from emp;
    +-----------+--------+-----------+
    | name      | sex    | hobbies   |
    +-----------+--------+-----------+
    | zhangming | female | read,play |
    +-----------+--------+-----------+
    1 row in set (0.00 sec)
    三、约束条件
    View Code

    上节课复习

    上节课复习:
        1、多路复用IO
            select模型
            poll模型
            epoll模型
    
        2、异步IO
    
        3、数据库
            本质就是一个C/S架构的套接字软件
            Server的套接字软件专门管理本地硬盘上的数据文件
    
            相关观念:
                数据库服务器:运行有数据库管理软件的计算机
                数据库管理软件:套接字软件Mysql
                库:文件夹
                表:文件
                记录:就相当于文件中的一行内容
    
    今日内容:
        1、sql语句
            库,表,记录的增删改查
    
        2、库详细操作
    
        3、表详细操作
            创建表
                数据类型
                完整性约束
    View Code
  • 相关阅读:
    Docker-MsSqlServer和安装版本异同
    ASP.NET Core入门
    开源网站.NETMVC+ Layui+SqlSugar+RestSharp
    SqlSugar ORM已经支持读写分离
    【开源框架】SqlSugarRepository 全库ORM 正式发布
    花几分钟搭建一个自已的GIT服务器
    [开源ORM] SqliteSugar 3.x .net Core版本成功上线
    N[开源].NET CORE与MySql更配, MySqlSugar ORM框架 3.x
    Dapper ORM VS SqlSugar ORM的 8场对决
    .NET 开源SqlServer ORM框架 SqlSugar 3.0 API
  • 原文地址:https://www.cnblogs.com/xujinjin18/p/9338371.html
Copyright © 2011-2022 走看看