• mysql相关((python3入门))


    一、mac os安装mysql server

    # 安装mysql
    # brew install mysql

    二、重置mysql 的root密码

    # 重置root的初始密码
    # 第一步:
    # 在系统设置偏好中,找到mysql,停止服务
    
    # 第二步
    # 打开terminal ,输入 cd /usr/local/mysql/bin/
    # 再输入 sudo ./mysqld_safe --skip-grant-tables
    # 不要关闭该窗口
    # 此时你会发现mysql的服务启动了
    
    # 第三步
    # 重新打开一个新的terminal窗口
    # 依次输入下列命令
    # # cd /usr/local/mysql/bin/
    # ./mysql
    # FLUSH PRIVILEGES;
    # SET PASSWORD FOR 'root'@'localhost' = PASSWORD('admin123');   #admin123为可自定义的新密码
    # 此时 重置root 密码完成



    mysql8.0+ 请使用如下命令来重置数据库账号密码
    $ alter user 'root'@'localhost' identified by 'newpassword';

    三、mysql中常用操作指令

    # 客户端连接
    # mysql -uroot -p
    # (输入root密码)

    •对文件(数据表)的相关操作

    #     方式一:
    #         create table test1(
    #             id int,
    #             name char(32),
    #             age int
    #         )charset=utf8;
    #
    #     方式二:# auto_increment primary key 自增主键-加快查询速度
    #         create table test1(
    #             id int auto_increment primary key,
    #             name char(32),
    #             age int
    #         )charset=utf8;
    #
    #
    #     方式三:
    #         列三大类型:
    #             整形
    #                 int (-2147483648~2147483648)
    #                 tinyint(-128~127)
    #                 smallint(-32768~32767)
    #                 mediumint (-8388608~8388607)
    #                 bigint(比int范围大,很大)
    #                 float (科学计算0.0000000000000001234444)精度较低
    #                 decimal(M,D) (精确度很高)
    #                     M 代表数字总个数
    #                     D 代表小数点后面有几位
    #
    #             字符串型
    #                 char(32)    #代表在内存空间里面开固定32个空间,哪怕没有写满32个字符,存的时候也是存32个字符
    #                 varchar(32)    #根据用户提交的数据空间,动态的判断字符大小进行存储,可以节约内存空间
    #                     char()效率高
    #                     varchar() 看业务场景需求
    #             时间类型
    #                 一般使用datetime 日期和时间
    #
    #
    #
    #         例如:
    #             create table test1(
    #
    #             列名 [列类型][auto_increment][not null][default]
    #             id int auto_increment primary key,
    #             name char(32) not null default '',
    #             age int not null default 1
    #         )charset=utf8;
    新建表
    # 删除表:
    #     drop table
    删除表
    # 查看表
    #     show tables;    #查看某数据库中的所有表
    #     show create table test1;    #查看新建表test1的语句
    #     desc test1;    #查看表test1的列名
    查看表

    •对数据的相关操作

    # 查看数据
    #     select * from test1;
    #     select id,name from test1;
    #     高级查询
    #     select id,name from test1 where id=5;
    #     select id,name from test1 where id<=4;    #取出test1表中,id<=4的id 和 name列内容,[运算符使用法]
    #     select * from test1 where id>1 and id<=2;
    #     select * from test1 where id in (1,2,3,4,);    #查找在元组(1,2,3,4,) 中的id 中所有的数据,可以在python中直接传入元组
    #     select * from test1 where name like 'a%';    #通配查询方式,类似模糊查询 a% 代表开头为a的数据
    #     select * from test1 limit 2,2;     #代表在表test1中从第二行开始(不含第二行) 一共取两行
    查看数据
    # 增加数据
    #     insert into test1 (name,age) values ('egon',18);
    #     insert into test1 (name,age) values ('aaa',22);
    #     insert into test1 (name,age) values ('bbb',33);
    #     insert into test1 (name,age) values ('ccc',44);
    #     insert into test1 (name,age) values ('利趣',55);
    #     insert into test1 (name,age) values ('aabb',66);
    增加数据
    # 删除数据
    #     delete from test1     #将表test1 中的所有数据删除
    #     delete from test1 where id=1;
    #     truncate test1;     #实际生产环境中是不能用的,相当于rm -rf /*     使用truncate删除,可以使之后的insert的数据的id从1重新开始计数
    删除数据
    # 更新数据
    #     update test1 set name='AA' where id=1;
    #     update test1 set name='BB', age=222 where id=2;
    更新数据

    四、外键

    # 之前存在的问题:
    #     1 列里面的值可以随便的写,没有任何的约束
    #     2 维护更改的时候比较麻烦
    #
    # 改进之后:
    #     1 节省空间
    #     2 维护更改的时候比较简单
    # 例如:
    # create table teacher(
    #     tid int auto_increment primary key,
    #     tname char(32) not null default ''
    # )charset = utf8;
    #
    # insert into teacher (tname) values ('波多');
    # insert into teacher (tname) values ('苍空');
    # insert into teacher (tname) values ('饭岛');
    #
    #
    #
    # create table course(
    #     cid int auto_increment primary key,
    #     cname char(32) not null default '',
    #     teacher_id int not null default 1,
    #
    #     # 创建外键
    #     # CONSTRAINT 自定义外键name FOREIGN KEY(当前表中的约束列名) REFERENCES 制定关联表(关联表列名)
    #     CONSTRAINT fk_course_teah FOREIGN KEY(teacher_id) REFERENCES teacher(tid)
    #
    # )charset=utf8;
    #
    # insert into course (cname,teacher_id) values ('生物',1);
    # insert into course (cname,teacher_id) values ('体育',1);
    # insert into course (cid,cname,teacher_id) values (3,'物理',2);
    创建外键示例
  • 相关阅读:
    IoC在ASP.NET Web API中的应用
    Web API 异常处理
    WEB API Filter的使用以及执行顺序
    WebAPI2使用Autofac实现IOC属性注入完美解决方案
    Web API 源码剖析之默认配置(HttpConfiguration)
    Web API 源码剖析之默认消息处理程序链之路由分发器(HttpRoutingDispatcher)
    Web API源码剖析之HttpServer
    Web API 源码剖析之全局配置
    初步认识AutoMapper
    Linux中ctrl+z 、ctrl+c、 ctrl+d差别
  • 原文地址:https://www.cnblogs.com/lich1x/p/10374498.html
Copyright © 2020-2023  润新知