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);
创建外键示例

 

posted @ 2019-02-14 14:36  名叫蛐蛐的喵  阅读(271)  评论(0编辑  收藏  举报