本文主要介绍MySQL的操作和与Python的连接。文章通过设置外键来连接表,外键必须是其他表的主键。具体可以参考朋友。
一、表和键的概念。正在创建数据库III。正在创建表IV。存储数据v .限制约束VI。修改和删除数据。获取数据。创建公司数据库。获取公司数据x .聚合函数XI。通用元素XII。关联集XIII。加入XIV。子查询十五。关于删除十六。Python连接MySQL。
目录
主键:可以唯一代表数据(可以设置多个列表为主键)。
设置外键连接表,外键必须是其他表的主键(外键也可以设置自己表的主键)。
一、表格与键概念
创建数据库“sql_tutorial ”;-创建一个数据库。
显示数据库;-显示数据库
删除数据库“sql_tutorial ”;-删除数据库
是注释
;是结束命令的格式。
二、创建资料库
MySQL的资料形态:
INT - plastic decimal (m,n) -带小数点(3,2)的数是2.33,共m位,小数点是n VARCHAR(n)-string BLOB-picture film文件.(二进制数据)日期-日期(yyyy-mm-dd)时间戳-
创建数据库“sql_tutorial ”;-创建一个数据库。
显示数据库;-显示数据库
使用“sql_tutorial ”;-选择要使用的数据库。
创建表学生(
` student _ id`int主键,-第一列
` name`varchar (20),--第二列
Major` varchar(20) -第三列,20表示最大字符长度。
);-创建表格和设计属性。
描述“学生”;-显示形式
删除表“student ”;-删除表格。
更改表“学生”添加gpa小数(3,2);-添加数据属性
更改“学生”表删除gpa列;-删除数据属性。
三、创建表格
创建表学生(
` student _ id`int主键,-第一列
` name`varchar (20),--第二列
Major` varchar(20) -第三列,20表示最大字符长度。
);-创建表格和设计属性。
select * from‘student’;-搜索表单的所有信息。
插入“学生”价值观(1、“小白”、“历史”);-写表数据。
插入“学生”价值观(2、“小黑”、“生物”);-写表数据。
插入“学生”值(3,“小绿色”,空);-写表数据,null为空。
插入` student` (`name `,` major `,` student _ id `)值('小蓝','英语',' 4 ');-根据设置写入表格数据。
插入` student` (`major`, `student _ id `)值(' English ',' 5 ');-根据设置写入表格数据,没有它的数据将为空白null。
四、储存资料
创建表学生(
` student _ id`int主键,-第一列
` name ' varchar(20)not null,-第二列,not null表示该属性不能为空。
Major` varchar(20) unique -第三列,20表示最大字符长度,unique表示每个值不能重复。
);-创建表格和设计属性。
创建表学生(
` student _ id` int主键auto_increment,-在第一列,auto _ increment会自动加一。
` name ' varchar(20),-第二列,not null表示该属性不能为空。
major ` varchar(20)default ' history '-在第三列中,20指的是最大字符长度,default指的是默认值,如果没有写入该属性,则为默认值。
);-创建表格和设计属性。
删除表“student ”;
select * from‘student’;-搜索表单的所有信息。
插入“学生”(“姓名”、“专业”)值(“小蓝”、“英语”);-根据设置写入表格数据。
插入“学生”(“姓名”)值(“小黑”);-根据设置写入表格数据。
五、限制约束
条件:,=,=,=,
设置SQL _ safe _ updates=0;-关闭预设的更新模式,以便更新操作能够成功。
创建表学生(
` student _ id`int主键auto _ increment,-第一列
` name`varchar (20),--第二列
` major ' varchar(20),-第三列,20表示最大字符长度。
`得分'整数
);-创建表格和设计属性。
删除表“student ”;
select * from‘student’;-搜索表单的所有信息。
插入“学生”(“姓名”、“专业”)值(“小蓝”、“英语”);-根据设置写入表格数据。
插入“学生”(“姓名”、“专业”)值(“小白”、“化学”);-根据设置写入表格数据。
插入' student` (`name`, `major `)值('小黑','生物');-根据设置写入表格数据。
更新“学生”-更新哪个表?
设置'专业`='英国文学'-更新什么成什么。
其中' major `=' English ';-谁和什么将被更新。
-您还可以进行多次更新。
更新“学生”-更新哪个表?
设置'专业`='生化'-更新什么到什么。
其中“专业”=“生物”或“专业”=“化学”;-谁和什么将被更新。
更新“学生”-更新哪个表?
设置'姓名`='小惠','专业`='生物化学'-更新什么到什么。
其中“学生标识”=1;-谁和什么将被更新。
——无条件改变一切。
更新“学生”-更新哪个表?
设置' major `=' physical ';——谁会更新什么,都改成生化。
从“学生”中删除
其中“学生标识”=3;-删除表中的数据。
-也可以设置多个条件。
从“学生”中删除
其中`姓名`='小白'和`专业`='物理';-删除表中的数据。
从“学生”中删除;-删除所有数据。
六、修改、删除资料
-获取信息。
select * from‘student’;-获取表单的所有信息。
从“学生”中选择“姓名”;-只获取表的相应数据。
从“学生”中选择“姓名”、“专业”;-获取对应于该表的多个数据。
select * from‘student’ORDER BY‘score’;-获取表格的所有信息并排序(默认正序)
select * from ' student ' ORDER BY ' score ' desc;-获取表单的所有信息并排序(从高到低,asc从低到高)
select * from ' student ' ORDER BY ' score ',' student _ id ';-获取表单的所有数据并排序(首先按分数排序,然后按相同分数的student_id排序)
从“学生”限制3中选择*;-限制数据的范围
select * from ' student ' ORDER BY ' score ' LIMIT 3;-对数据范围进行排序和限制。
select * from‘student’where‘major `=‘English’;-查找相应的信息。
Select * from `student '其中' major`=' English '和' student _ id `=1;-查找相应的信息(多条件)
select * from ` student ` where ` major ` in(' history ',' English ',' biology ');-查找相应的数据(多条件)1
七、取得资料
创建数据库“sql_tutorial ”;-创建一个数据库。
显示数据库;-显示数据库
使用“sql_tutorial ”;-选择要使用的数据库。
创建表“雇员”(
` emp _ id`int主键,-第一列
` name ' varchar(20),-第二列,20表示最大字符长度。
日期,第三列
` sex ' varchar(1),
`薪金' int,
` branch_id` int,
` sup_id` int
);-创建表格和设计属性。
创建表“分支”(
` branch _ id`int主键,-第一列
` branch _ name` varchar (20),-第二列
Manager_id` int,-第三列,20表示最大字符长度。
外键(` manager _ id `)在删除集上引用` employee `(` EMP _ id ` )-设置外键(选择是什么以及哪个表的哪个属性对应)
);-创建表格和设计属性。
-补充外键(对应于外部表)
alter table ` employee ` --对哪个表进行更新?
在什么属性上添加外键(` branch _ id `)?
引用` branch `( ` branch _ id `)-它对应于哪个属性?
on delete set null
-补充外键(对应于内部表)
alter table ` employee ` --对哪个表进行更新?
在什么属性上添加外键(` sup _ id `)?
references ` employee `( ` EMP _ id `)-哪个属性对应于where?
on delete set null
创建表“客户端”(
` client _ id`int主键,-第一列
` client _ name`varchar (20),-第二列
` phone ' varchar(20)-第三列,20表示最大字符长度。
);-创建表格和设计属性。
创建表格` works_with `(
` emp _ id`int,-第一列
` client _ id`int,-第二列
' total _ sales` int,-第三列,20表示最大字符长度。
主键(`员工标识',`客户标识'),
外键(` EMP _ ID `)在删除级联中引用` employee` (` EMP _ ID `),-设置外键(选择是什么以及哪个表的哪个属性对应)
外键(` client _ id `)在删除级联时引用` client `( ` client _ id ` )-设置外键(选择是什么以及对应于什么表的什么属性)
);-创建表格和设计属性。
-在添加数据冲突时,可以将其设置为null,然后进行更新。
插入“分支”值(1,“R&D”,空);
插入“雇员”值(206,“黄晓”,“1998-10-08”,“F”,50000,1,空);
更新“分支”
设置“经理标识”=206
其中“分支标识”=1;
八、创建公司资料库
-获取相应表的所有数据。
select * from‘employee’;
-获取相应表的所有数据并排序(默认情况下从低到高)
select * from ' employee ' order by ' salary ';-低是加desc
——增加了对取出条件的限制。
select * from“员工”order by“薪金”desc限制3;——去掉前三高。
-取出相应的属性。
从“员工”中选择“姓名”;
-取出相应属性的内容(不要重复)
从“员工”中选择不同的“姓名”;
九、取得公司资料
-获得的人数
从“雇员”中选择count(*);-统计一些信息
select count(` sup _ id `) from ` employee `;-计算相应属性数据的数量(不计算空值)
-添加条件接收。
选择计数(*)
来自`员工'
其中“沐浴日期”“1970-01-01”和“性别”=“F”;-统计一些信息
-计算相应属性的平均值。
从“雇员”中选择avg(`薪金`);
-计算相应属性的总和。
从“雇员”中选择sum(`薪金`);
-得到最高的
从“雇员”中选择最大值(`薪金`);
-得到最低的
从“雇员”中选择min(`薪金`);
十、聚合函数
-%表示多个子元素,_表示一个子元素。
-获取尾数335的数据。
select * from ` client ` where ` phone ` like ' 35;
-姓艾
select * from“client ”,其中“client _ name”类似于“ai %”;
-生日在十月。
select * from ` employee ` where ` bath _ date ` like ' _ _ _ _ _ 10% ';
十一、万用子元
-雇员和客户合并到一列中(类型必须相同)
从“员工”中选择“姓名”
联盟
从“客户端”中选择“客户端名称”;
-多个数据合并到多个列中(类型必须相同)
从“雇员”中选择“雇员标识”和“姓名”
联盟
从“客户端”中选择“客户端标识”、“客户端名称”;
-多个数据合并到多个列中(类型必须相同)。顺便改个名字。
从“employee”中选择“emp_id”作为“total_id ”,选择“name”作为“total_name”
联盟
从“客户端”中选择“客户端标识”、“客户端名称”;
十二、联集
-连接
-获取所有部门经理的姓名,这需要先确定部门再确定经理(两个表相连)。
select * from ` employee ` join ` branch ` on ` EMP _ id `=` manager _ id `;
-也可以写成
select * from ` employee ` join ` branch ` on ` employee ` . ` EMP _ id `=` branch ` . ` manager _ id `;
-附加条件
select * from ` employee ` left join ` branch ` on ` employee ` . ` EMP _ id `=` branch ` . ` manager _ id `;-左边的表(连接的左边)返回所有数据,右边的表必须满足。
十三、连接
-查询查询集
从“员工”中选择“姓名”
其中` emp_id`=(
选择“经理标识”
从`分支'
其中“分行名称”=“R&D”
);-找到R&D部门经理的名字
从“员工”中选择“员工标识”
其中“雇员标识”在(
选择“员工标识”
来自“与.一起工作”
其中总销售额为50000英镑
);-销售资金超过5万元的都是些什么人?
十四、子查询
On delete set null用于在数据被删除(或者不能对应)的情况下将其设置为null。如果对应的数据被删除(或无法对应),则该表中的数据将被删除。
注:不能设置为on delete set null create table ` branch `(
` branch _ id`int主键,-第一列
` branch _ name` varchar (20),-第二列
Manager_id` int,-第三列,20表示最大字符长度。
外键(` manager _ id `)在删除集上引用` employee `(` EMP _ id ` )-设置外键(选择是什么以及哪个表的哪个属性对应)
);-创建表格和设计属性。
创建表格` works_with `(
` emp _ id`int,-第一列
` client _ id`int,-第二列
' total _ sales` int,-第三列,20表示最大字符长度。
主键(`员工标识',`客户标识'),
外键(` EMP _ ID `)引用删除级联上的` employee` (` EMP _ ID `),-设置外键(选择是什么以及哪个表的哪个属性对应)
外键(` client _ id `)在删除级联时引用` client `( ` client _ id ` )-设置外键(选择是什么以及对应于什么表的什么属性)
);-创建表格和设计属性。
十五、On delete
#导入功能包(mysql-connector-python)
导入mysql.connector
#创建连接
connection=MySQL . connector . connect(host=' localhost ',# mysql的位置
Port='3306 ',#连接通道
用户='root ',#用户名
Password='123456') #用户密码
connection=MySQL . connector . connect(host=' localhost ',# mysql的位置
Port='3306 ',#连接通道
用户='root ',#用户名
Password='123456 ',#用户密码
Database='sql_tutorial') #直接打开目标数据库''
#告诉开始使用操作
游标=connection.cursor()
#在mysql: cursor.execute上操作时使用此格式('您要执行的mysql语句命令')
#创建存储库
# cursor.execute('创建数据库` qq')
#获取所有数据库名称
cursor.execute('显示数据库;')
Records=cursor.fetchall() #签出回发数据库
对于记录中的r:
Print(r) #因为返回的是列表,所以循环打印,便于观察。
#选择数据库
cursor . execute(' use ` SQL _ tutorial `;')
#创建表格
#通知关闭操作
cursor.close()
#如果想了解数据并进行修改,需要在最后添加一条指令,这样提交指令才能生效。
connection.commit()
#关闭连接
connection.close()
关于MySQL操作和Python连接的这篇文章到此为止。关于MySQL操作Python连接的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。