学院宣传网站制作,网站刷排名工具,防疫给自己写个人先进事迹,个人网页设计作品展示##创建用户-建表建库
#创建一个用户名为 feng#xff0c;允许从任何主机 % 连接#xff0c;并使用密码 sc123456 进行身份验证的用户。
rootTENNIS 16:33 scmysqlcreate user feng% identified by sc123456;
Query OK, 0 rows affected (0.04 sec)
#创建一个名为fen…
##创建用户-建表建库
#创建一个用户名为 feng允许从任何主机 % 连接并使用密码 sc123456 进行身份验证的用户。
rootTENNIS 16:33 scmysqlcreate user feng% identified by sc123456;
Query OK, 0 rows affected (0.04 sec)
#创建一个名为feng的数据库
rootTENNIS 17:11 scmysqlcreate database feng;
Query OK, 1 row affected (0.00 sec)
#给feng 这个用户授予所有权限赋予对名为 feng 的数据库中所有表的 SELECT、INSERT、UPDATE、DELETE 等权限
rootTENNIS 17:11 scmysqlgrant all on feng.* to feng%;
Query OK, 0 rows affected (0.00 sec)
#使用feng这个数据库
rootTENNIS 17:17 scmysqluse feng
Database changed
rootfeng 17:18 scmysqlcreate table t1(id int primary key,name varchar(20) not null);
Query OK, 0 rows affected (0.25 sec)
## set 修改密码
root(none) 09:38 mysqlcreate user liangliang% identified by Sanchuang123#;
alter user rootlocalhost identified by Sanchuang123#;
flush privileges; 刷新权限会加载原来没有加载的权限表--》用户名和密码所在的表user等
mysql set password for rootlocalhost Sanchuang1234#; --》修改密码指定用户名为rootlocalhost
Query OK, 0 rows affected (0.00 sec)
set password for ‘root’’localhost’ ‘Sanchuang1234#’
#create table创建表格
##未指定数据库
rootliangliang 20:52 mysqlcreate table ejiao(id int,name varchr(10));
##指定数据库该表就会存放到xieshan这个数据库中
rootliangliang 20:59 mysqlcreate table xieshan.ejiao(id int,naame varchar(10)); not null 表示不能为空这个字段 primary key 表示这个字段为主键这个字段里的数据不能重复
rootxieshan 15:23 scmysqlcreate table wang( - id int not null primary key, - name varchar(20) not null, - sex char(1) ) - ; primary 主要的 primary school 小学 ##grant授权用户
rootmysql 10:12 mysqlgrant all on *.* to liangliang%;
Query OK, 0 rows affected (0.01 sec) rootmysql 10:13 mysql
##修改密码identified-刷新权限flush
alter user rootlocalhost identified by Sanchuang1234#;
##刷新权限会加载原来没有加载的权限表
flush privileges ##create databases创建数据库
root(none) 14:43 scmysqlcreate database aojiao;
Query OK, 1 row affected (0.00 sec) ##首尾tables-展示表格
liangliang(none) 10:14 scmysqlshow processlist;
liangliang(none) 10:15 scmysqlalter user liangliang% identified WITH mysql_native_password by Sanchuang123#;
liangliang(none) 10:15 scmysqlcreate user liangliang3% identified WITH mysql_native_password by Sanchuang123#;
roothunan 20:22 mysqlshow create table tanjiani;
#desc-查看表里面的结构
rootliangliang 20:54 mysqldesc ejiao;
#rename -to 修改表名
RENAME TABLE old_table_name TO new_table_name;
#changed-修改列名
ALTER TABLE table_name CHANGE old_column_name new_column_name datatype; #modify-修改列的类型
ALTER TABLE table_name MODIFY column_name new_datatype; #if not exist 的使用
create table if not exists xieshan.ejiao1 (ID int ,NAME varchar(20));
#warning的使用
rootliangliang 21:12 mysqlshow warnings;
##展示效果
-------------------------------------------
| Level | Code | Message |
-------------------------------------------
| Error | 1050 | Table ejiao already exists |
-------------------------------------------
1 row in set (0.00 sec) ##改密码:配置文件/etc/my.cnf
三个进程对应一个
[mysqld_safe]
[client]
socket/data/mysql/mysql.sock [mysqld]
socket/data/mysql/mysql.sock
port 3306
open_files_limit 8192
innodb_buffer_pool_size 512M
character-set-serverutf8
#skip-grant-tables#跳过密码认证
[mysql]
auto-rehash
prompt\u\d \R:\m mysql ##类似linux的第一提示符
#大小写的区分
关键字 MySQL里的命令
关键字不区别大小写
库名和表名区分大小写
##常见的mysql语句 #DML数据操作语言Manipulation
##insert的使用
rootxieshan 21:26 mysqlinsert into ejiao1(id,name) value(2,wanngshuai);
Query OK, 1 row affected (0.00 sec)
##insert 插入多个数据
INSERT INTO grades (NAME,SUBJECT,score)
VALUES(linlin,数学,100),(linlin,语文,100)
##select
##update 更新插入值的内容
#改列名UPDATE table_name SET column_name new_value WHERE condition; #改属性值UPDATE users SET age 25 WHERE name Alice;
#如果update 没有where 条件语句那么他就会修改这个字段里面的所有行
#举例
UPDATE grades
SET score 100
WHERE NAMEshanshan AND SUBJECT 数学
(默认执行顺序都是先查询再删除)
##replace
替代已有的行
REPLACE语句是INSERT语句的一个变种。当添加新行时如果主键值重复那么就覆盖表中已有的行。如果没有主键值重复则插入该行
语法
REPLACE [INTO] table_name [(col_name,...)] VALUES (expr,...),(...),...
或者
REPLACE [INTO] tbl_name [(col_name,...)] SELECT ...
##help
##delete
一行一行的删除
可以恢复
产生了二进制日志
小表里面的删除速度更快
##truncate
直接删除不产生二进制日志文件不能恢复
如果是数据库很大的文件的话truncate 速度比delete更快删除表空间的文件 类似于(.db)
#DQL
create#
创建
alter#
修改
drop#
删除
#select的使用
*是表示任意字段
rootxieshan 21:26 mysqlselect * from xieshan.ejiao1;
-----------------
| id | name |
-----------------
| 1 | hepang |
| 2 | wangshuai |
-----------------
#仅选择一个id
rootxieshan 21:33 mysqlselect id from ejiao1;
------
| id |
------
| 1 |
| 2 |
------
2 rows in set (0.00 sec) #DDL数据定义语句
##drop
删除表
rootxieshan 16:00 scmysqldrop table chenyulin;
Query OK, 0 rows affected (0.01 sec)
##表里面的删行
alter table t7 drop column column-name
删除库
rootxieshan 16:00 scmysqldrop database AOJIAO;
##create
rootxieshan 16:38 scmysqlcreate table t3(id tinyint unsigned); ##alter
rootxieshan 16:17 scmysqlalter table t1 change name username varchar(20);
#删除一行
alter table t7 drop column column-name
#增加一行
alter table t7 add column column_name
#改表名
roothunan 19:15 mysqlalter table city_name rename to ct;
#change
修改列的名称和数据类型
#modified
修改列的数据类型 #DCL数据控制语句
grant
授权用户
grant all(权限名) on *.*(表名) to shanshan%;(用户名主机号)
With GRANT option
这个语句意味着你可以授权给其他的人人事任命权
revoke
##help 的使用
help create table
查询create table命令的使用手册 rootxieshan 15:12 scmysqlhelp create table
Name: CREATE TABLE
Description:
Syntax:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_options]
rootxieshan 15:15 scmysqlshow create table ejiao;
-----------------------------------------------------------------------------------------------------------------------------------
| Table | Create Table |
-----------------------------------------------------------------------------------------------------------------------------------
| ejiao | CREATE TABLE ejiao ( id int(11) DEFAULT NULL, name varchar(20) DEFAULT NULL
) ENGINEInnoDB DEFAULT CHARSETutf8 |
-----------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec) Query OK, 0 rows affected (0.04 sec) MySQL有哪些数据类型
1.数值 1.1 整数 int
1.2 浮点型 float不是很精确四舍五入
rootxieshan 13:16 mysqlcreate table salary2(id int(5),name varchar(20),salary floaat(10,2));
1.3 定点型 decimal十进制可以指定小数点精度十分精确
create table salary(id int(5),name varchar(20),salary decimal(10,2));
##前面的10表示整数位和小数位的总和2表示小数位
insert into salary(id,name,salary) values (1,rose,19992.22);
##查看表里面的内容
rootxieshan 13:15 mysqlselect * from salary;
----------------------
| id | name | salary |
----------------------
| 1 | rose | 19992.22 |
----------------------
1 row in set (0.00 sec)
#自增--》值适用于整型 auto_increment 自增初始值为1
roothunan 18:20 mysqlcreate table city_name(id int unsigned auto_increment primary key);
Query OK, 0 rows affected (0.01 sec) Unsigned 无符号数 40 50 100
signed 有符号数
100
-50
2.字符串
varchar##可变长字符串
char##定长字符串 3.日期和时间
##date 日期类型 --》年月日
表示时间日期的几种类型 4.enum 枚举类型
###作业
作业
0.建立库 hunan
1.表名:sc_student
2.字段 编号名字、性别、年龄、专业电话号码地址岗位城市公司的名字出生日期工资 3.思考哪些字段设置成什么类型必须有主键具体哪个字段做主键自己定义 4.往表里插入几行数据 5.查询显示一下数据 6.显示一下表的结构字符集存储引擎等信息 7.思考一条记录会消耗多少存储空间 rootxieshan 13:24 mysqlcreate database hunan;
rootxieshan 13:34 mysqluse hunan;
roothunan 13:39 mysqlcreate table sc_student - (id int, - name varchar(20), - age varchar(20), - sex char(1), - major varchar(20), - phone varchar(14), - address varchar(30), - city varchar(20), - work varchar(20), - company varchar(10), - birthday int(15), - salary decimal(10,2)); roothunan 13:44 mysqldesc sc_student;
roothunan 14:00 mysqlinsert into sc_student(id,name,age,sex,major,phone,address,city,work,company,birthday, salary) values(10086,wangyalin,21,m,zhineng,17373314883,hunanzhuzhouyouxian,shenzheng,SRE,tencent,200030106,18000.99);
#显示所有表中数据
roothunan 14:08 mysqlselect * from sc_student;
--------------------------------------------------------------------------------------------------------------------------
| id | name | age | sex | major | phone | address | city | work | company | birthday | salary |
--------------------------------------------------------------------------------------------------------------------------
| 10086 | wangyalin | 21 | m | zhineng | 17373314883 | hunanzhuzhouyouxian | shenzheng | SRE | tencent | 20030106 | 18000.99 |
| 10086 | guanxuye | 20 | m | zhineng | 17329912222 | hunanchangdeshjimeng | changsha | DBA | zijiet | 200041206 | 10000.99 |
| 100001 | guanxuye | 20 | m | zhineng | 17329912222 | hunanchangdeshjimeng | changsha | DBA | zijiet | 200041206 | 10000.99 |
--------------------------------------------------------------------------------------------------------------------------
#查看表的结构
roothunan 14:08 mysqldesc sc_student;
----------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
----------------------------------------------------
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| age | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| major | varchar(20) | YES | | NULL | |
| phone | varchar(14) | YES | | NULL | |
| address | varchar(30) | YES | | NULL | |
| city | varchar(20) | YES | | NULL | |
| work | varchar(20) | YES | | NULL | |
| company | varchar(10) | YES | | NULL | |
| birthday | int(15) | YES | | NULL | |
| salary | decimal(10,2) | YES | | NULL | |
----------------------------------------------------
#这个命令可以查看字符集和数据引擎
roothunan 14:09 mysqlshow create table sc_student; ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 |
##项目和开发作业
1. list和tuple的区别
2. 什么是pep8 pep8能说出几点
3. Python内存管理
4. Python常用模块有哪些 能不能说一下 怎么使用 用来干过什么
5. Python中的多进程和多线程 都使用什么模块
6. Python的GIL是什么
7. 什么是协程
8. Flask和django的区别
9. 项目相关 流程 虚拟环境 request对象 使用模块
10. 深浅拷贝 原理 现象
11. Python的字典和列表的实现原理
12. Python的异常处理 基本正则
13. Python面向对象 经典类和新式类的区别多重继承算法 经典类---深度优先 新式类—c3算法 用过的魔术方法 __init__?
14. 什么是装饰器装饰器的作用 项目名称 基于flask的****系统的api开发
项目环境 centos7python3.9flask2.0MySQL5.7postmangunicorn
项目描述
根据***业务系统的要求编写*个接口用户注册业务查询登陆验证日志等实现对**系统数据的增删改查给其他的业务系统提供数据支撑。返回json类型的数据给哪些人使用解决了什么问题
git的地址或者网站地址
项目步骤
1.使用flask框架开发整个系统对整个系统进行数据库的设计多少个模块多少张表使用MySQL数据库整个api开发遵循restful规范总共有*个接口
2.首先实现登陆注册模块的功能使用**技术达到***目的
3.实现**模块的功能使用**技术模块达到***目的攻克了**难题--》使用的模块名字处理函数的内部技术数据库相关的技术等蓝图路由celerylog认证等
4.实现**模块的功能使用**技术模块达到***目的攻克了**难题
5.实现**模块的功能使用**技术模块达到***目的攻克了**难题
6.将这个项目通过gunicorn部署到云服务器上进行测试并且上线
项目心得
在本次开发接口的过程中体会到了****对***影响深刻遇到的问题**学习了****。 roothunan 11:43 scmysqlcreate table sc_student( - id int primary key, - name varchar(20) not null, - sex enum(男,女) not null, - age tinyint , - major varchar(20), - phoneNO varchar(20), - address varchar(50), - position varchar(20), - city varchar(20), - company varchar(20), - birth date, - salary decimal(12,2), - college varchar(20) - );
Query OK, 0 rows affected (0.03 sec) roothunan 11:50 scmysqlcreate table sc_student( id int primary key, name varchar(20) not null, sex enum(男,女) not null, age tinyint , major varchar(20), phoneNO varchar(20), address varchar(50), position varchar(20), city varchar(20), company varchar(20), birth date, salary decimal(12,2), college varchar(20) );
roothunan 11:52 scmysqlinsert into sc_student values(1,tanghaoming,男,23,农业工程与信息技术,12345678911,江苏淮安,运维开发工程师,上海,大公司,2022-8-10,20000.00,湖南农业大学);
Query OK, 1 row affected (0.01 sec) roothunan 11:56 scmysqlselect * from sc_student;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| id | name | sex | age | major | phoneNO | address | position | city | company | birth | salary | college |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 1 | tanghaoming | 男 | 23 | 农业工程与信息技术 | 12345678911 | 江苏淮安 | 运维开发工程师 | 上海 | 大公司 | 2022-08-10 | 20000.00 | 湖南农业大学 |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec) roothunan 11:56 scmysqlselect * from sc_student\G;
*************************** 1. row *************************** id: 1 name: tanghaoming sex: 男 age: 23 major: 农业工程与信息技术 phoneNO: 12345678911 address: 江苏淮安
position: 运维开发工程师 city: 上海 company: 大公司 birth: 2022-08-10 salary: 20000.00 college: 湖南农业大学
1 row in set (0.00 sec) ERROR:
No query specified roothunan 11:57 scmysql
roothunan 11:50 scmysqldesc sc_student;
--------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------------
| id | int(11) | NO | PRI | NULL | | 4
| name | varchar(20) | NO | | NULL | | 12
| sex | enum(男,女) | NO | | NULL | | 3
| age | tinyint(4) | YES | | NULL | | 1
| major | varchar(20) | YES | | NULL | | 30
| phoneNO | varchar(20) | YES | | NULL | | 15
| address | varchar(50) | YES | | NULL | | 60
| position | varchar(20) | YES | | NULL | | 21
| city | varchar(20) | YES | | NULL | | 9
| company | varchar(20) | YES | | NULL | | 36
| birth | date | YES | | NULL | | 3
| salary | decimal(12,2) | YES | | NULL | | 7
| college | varchar(20) | YES | | NULL | | 24
-------------------------------------------------------- 225 225 * 100000 ##关键字
主键 primary key 一列或者多列内容不允许出现一样的 entry 条目 一个条目就是一条记录 record 一行数据 选项 可供选择的项目可接可不接接了有特效 option
对字段类型的选项---》属性--》约束限制
not null
zerofill
primary key
auto_increment 初始值 为1 步长值偏移量默认为1 roothunan 14:58 scmysqldelete from city_name; 删除整个表里的数据
roothunan 14:59 scmysqldelete from city_name where id9; 添加了条件的删除语句
Query OK, 1 row affected (0.04 sec)
MySQL里的系统的自带的变量预定义变量是 两个符号
自定义的变量是
##auto_increment的具体使用
offset
SET auto_increment_offset 10, -- 起始值 auto_increment_increment10; -- 每次加几 roothunan 15:00 scmysqlSET auto_increment_offset 10;
Query OK, 0 rows affected (0.00 sec) roothunan 15:03 scmysqlSET auto_increment_increment 10;
Query OK, 0 rows affected (0.00 sec) roothunan 15:04 scmysqlselect auto_increment_offset ,auto_increment_increment;
-----------------------------------------------------
| auto_increment_offset | auto_increment_increment |
-----------------------------------------------------
| 10 | 10 |
-----------------------------------------------------
1 row in set (0.00 sec) roothunan 15:04 scmysql
roothunan 15:04 scmysqlset sg liangliang;
Query OK, 0 rows affected (0.02 sec) roothunan 15:05 scmysqlinsert into city_name(name) values(sg);
Query OK, 1 row affected (0.00 sec) roothunan 15:05 scmysqlselect * from city_name;
----------------
| id | name |
----------------
| 11 | wangzx |
| 20 | liangliang |
----------------
2 rows in set (0.00 sec) roothunan 15:05 scmysql 临时表 只是临时在内存里存在,使用show tables查看不到用户退出MySQL马上会删除用户新建的临时表其他用户不能看到你创建的临时表只能自己可见。
#comment的使用
加注释
roothunan 19:57 mysqlcreate table wangshuai(id int primary key comment
编号,name varchar(20) not null comment 姓名);
roothunan 19:57 mysqlshow create table wangshuai;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Table | Create Table |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| wangshuai | CREATE TABLE wangshuai ( id int(11) NOT NULL COMMENT 编号, name varchar(20) NOT NULL COMMENT 姓名, PRIMARY KEY (id)
) ENGINEInnoDB DEFAULT CHARSETutf8mb4 | ##default的使用
默认 id default 50
这样当你没有像表中插入一个值的时候默认值就是50
有值插入时就是插入你输入的值
##like使用
oothunan 15:20 scmysqlcreate table new_city like city_name; 复制表的结构
Query OK, 0 rows affected (0.04 sec) roothunan 15:20 scmysqlshow tables;
-----------------
| Tables_in_hunan |
-----------------
| city_name |
| city_name2 |
| city_name3 |
| new_city |
| sc_student |
| width |
-----------------
6 rows in set (0.01 sec) roothunan 15:20 scmysqldesc new_city;
-------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------------------
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(10) | NO | | NULL | |
-------------------------------------------------------------
2 rows in set (0.02 sec) roothunan 15:20 scmysqlselect * from new_city;
Empty set (0.00 sec)
##as的使用
roothunan 15:21 scmysql
复制一个表的结构和里面的数据
roothunan 15:21 scmysqlcreate table new_city2 as select * from city_name;
Query OK, 4 rows affected (0.13 sec)
Records: 4 Duplicates: 0 Warnings: 0 roothunan 15:23 scmysqlselect * from new_city2;
----------------
| id | name |
----------------
| 11 | wangzx |
| 20 | liangliang |
| 30 | pengpeng |
| 40 | yaoyao |
----------------
4 rows in set (0.00 sec)
roothunan 15:23 scmysql
##取别名
astable1 table2##这样的话table1的别名就是table ##set的使用
UPDATE table_name
SET column1 value1, column2 value2, ...
WHERE condition;
CREATE TABLE myset (col SET(a, b, c, d));
rootliangliang 16:54 mysqlSELECT col FROM myset;
##unique
类似设置主键设置唯一
##分组-having
##group by 去重--having condition
##concat--字符串拼接
SELECT CONCAT(NAME,STREET) address,PHONENO FROM PLAYERS
##distinct--去重限制select
##order by 排序
asc升序排序
desc降序排序
#in
#any
#all
聚合函数sum max min avg,count
COUNT用于统计指定列计算行的的数量。count(*)
SELECT COUNT(*) FROM table_name; -- 统计表中的总行数
SUM用于计算指定列的总和一般适用于数值类型。
AVG用于计算指定列的平均值。
MIN用于获取指定列的最小值。
MAX用于获取指定列的最大值。
##limit 限制
limit 2 只取前两行
SELECT * FROM table_name
LIMIT 10 OFFSET 20;
返回从第 21 行开始的 10 行记录。
limit 1,2
##表示 offset1步长为2skip跳过第一行返回第二行和第三行的数据 ##substr(字段名起始字符终止字符)
#group_concat ()
group_concat (name)
它可以将name列中的多个值合并为一个字符串
##join多表查询
nature join#自然连接子句
SELECT *
FROM table1
NATURAL JOIN table2;
自然连接根据两个表之间的列名相匹配来进行连接。它会自动查找两个表中具有相同名称的列并基于这些列进行连接 using #子句--》指定列
SELECT *
FROM table1
JOIN table2 USING (common_column);
使用 USING 子句可以指定连接时所使用的列。它指定了一个或多个列这些列将用于连接两个表
on#子句(有点像where)
SELECT *
FROM table1
JOIN table2 ON table1.column table2.column;
使用 ON 子句可以指定连接时的条件这些条件可以是任意合适的比较条件。
ON 子句允许你明确指定连接条件而不依赖于列名的匹配。
left join 左外连接 right join 右外连接 ##建立临时表
create temporary table
roothunan 19:38 mysqlcreate temporary table wangyalin (id int ,name varchar(20),sex char(1));
##临时表式放在内存里面会话结束内存释放临时表的数据就会消失只有自己可见别人是看不到