【周报】云创IT特种兵(一)2023/07/23

记录是一种习惯,也是一种很有价值的行为。通过记录,我们可以记录下重要的信息、经验、思考和观察,帮助我们回顾过去的经历,总结经验教训,以及更好地规划和实现目标。

周报(2023年07月17日 - 2023年07月23日):

本周主要学习了前端和数据库相关的知识。以下是本周的学习和反思:

前半部分,在预科班跟了两天,通过实际操作,我成功制作了小米官网的首页静态网页。在这个过程中,我学会了使用HTML和CSS来创建页面的结构和样式。我了解了盒模型、浮动、定位等常用的布局技巧。通过这个项目,我对前端开发有了更深入的认识,同时也提升了自己的实践能力。

后半部分,我开始学习mysql数据库的基本语句。我了解了如何创建数据库、表格以及如何插入、删除、更新和查询数据。在学习的过程中,我遇到了一些问题。首先,我发现自己在理解数据库的概念和原理方面还有所欠缺,这导致我在处理一些复杂的查询语句时遇到了困难。其次,我在编写SQL语句时有时会出现拼写错误或语法错误,这需要我更加仔细地审查和调试我的代码并且尽可能多的练习。这些问题让我意识到要学懂一块知识动手是最重要的,勤加练习才能逐渐熟练。

周六进行了第一次周测,我对自己的学习情况进行了总结。我认识到自己在数据库学习方面还是有很多问题。对一些语法不是很清晰,只是死板的记没有真正的深入理解这个语句的含义,导致刚写的语句过一会又忘了怎么写;同时也发现自己很粗心,经常拼写错一些命令的单词,比如更新命令(update),我经常错写成(updata)。以及有些字符串经常就忘记了加单引号,还有创建一个表结构时,反引号(可不加)经常会错写成单引号,导致语法错误。总之还是缺乏练习。

总的来说,本周是一个充实而有收获的周,我在数据库方面有了一定的进步,同时也发现了自己的很多不足。我会进行查漏补缺,继续努力学习和提升自己,期待在未来的学习中取得更多的成果。

附:mysql命令语句归类总结:

1.数据库操作:

查看数据库:show databases;
使用数据库:use database_name;
创建数据库:create database database_name;
删除数据库:drop database database_name;

2.表操作:

查看数据库中的表:show tables; (首先进入到数据库中)
查看表结构:DESCRIBE table_name; 或者 DESC table_name;
创建表:
create table `table_name` (

`column1 `datatype comment ‘列名/备注’ ,

`column 2`datatype comment ‘列名/备注’
);
删除表:drop table table_name;
重命名表:rename table old-name to new-name;
添加列:alter table table_name add new-id datatype; (注释:new-id新列名 新列的类型)
删除列:alter table table_name drop old-id;(注释:old-id要删除的旧列名)
修改列属性:alter table table_name modify id datatype;(注释:alter table 表名 modify 列名 修改类型)
修改列名:alter table table_name change old-id new-id datatype;(注释:old-id旧列名 new-id修改后列名)

3.数据操作:

插入数据:INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);
更新数据:UPDATE table_name SET column1 = value1, column2 = value2, … WHERE [子语句];
删除数据:DELETE FROM table_name WHERE [子语句];
查询数据:SELECT column1, column2, … FROM table_name WHERE [子语句];

4.where条件连接:
当sql语句中的条件有多条时,可以将多个条件连接起来。他们之间的关系有一下几种:

a and b: 表示需要同时满足 a 条件 和 b 条件
a or b: 表示满足 a 条件 或 b 条件都可以
in(a, … ,b): 表示在 a 及 b 这些值中都可以
like模糊查询, % 表示任意个字符 _ 表示一个字符

5.授权:

给用户授权:GRANT 权限1, 权限2… ON 数据库名.表名 TO ‘用户名’@‘主机名’;
撤销授权:REVOKE 权限1, 权限2… ON 数据库.表名 FROM ‘用户名’@‘主机名’;
查看授权:SHOW GRANTS FOR ‘用户名’@‘主机名’;

6.备份和还原:

备份表结构:

备份表结构: mysqldump -u root -p -d dbname table1 table2 … > a.sql
备份数据库的所有表结构: mysqldump -u root -p -d database_name >b.sql
备份多个数据库的所有表结构: mysqldump -u root -p -d --databases db1 db2…>c.sql
备份所有数据库的表结构:mysqldump -u root -p -d --all-databases > d.sql

备份数据和结构(相当于在备份表结构基础上去掉-d选项):

备份表结构和数据:mysqldump -u root -p dbname table1 table2 … > a.sql
备份数据库的所有表结构和数据:mysqldump -u root -p dbname > b.sql
备份多个数据库的表结构和数据:mysqldump -u root -p --databases db1 db2 > c.sql
备份所有数据库的表结构和数据:mysqldump -u root -p --all-databases > d.sql

备份表数据:

mysql -u root -p -e “selec 语句” dbname > 目标文件名
select * from xxx into outfile ‘/tmp/stud.txt’ ;

还原表结构和数据:

mysql -u root -p [dbname] < 目标文件   //该命令从指定的文件中导入数据到MySQL数据库中。您需要将[dbname]替换为要导入数据的目标数据库的名称,目标文件是包含数据的SQL文件路径。该命令将会提示输入密码。
mysql -h127.0.0.1 -uroot -proot db_name<back.sql  //该命令用于在远程服务器上导入数据。-h参数指定主机地址,-u参数指定用户名,-p参数指定密码,db_name是目标数据库的名称,back.sql是包含数据的SQL文件路径。
load data infile '/tmp/stud.txt' into table students;  //该命令用于从文本文件中加载数据到MySQL表。/tmp/stud.txt是包含数据的文本文件路径,students是目标表的名称。
source /backup/all_db_2013-09-08.sql    //该命令从指定的SQL文件中导入数据到MySQL数据库中。/backup/all_db_2013-09-08.sql是包含数据的SQL文件路径。

7.高级查询:

去重: select distinct 列1, … , 列n from table_name [其他子句];
排序显示:select [distinct] 列1, …列n from table_name [其他子句] order by 排序列1 [ASC], 排序列2 [DESC]; //ASC为升序排序,默认为升序;DESC为降序。
分页查询limit子句:select * from table_name limit (页码 - 1) * 每页数量, 每页数量;
分组:select 列1, 列2, (聚合函数) from table_name group by 列1, 列2;
having筛选:select 列1, 列2, (聚合函数) from table_name group by 列1, 列2 having 分组后条件;

8.函数:

sum求和: select sum(列) from table_name [其他子句];
max求最大值:select max(列) from table_name [其他子句];
min求最小值: select min(列) from table_name [其他子句];
avg求平均值:select avg(列) from table_name [其他子句];
count求数量:select count(列) from table_name [其他子句];
大写转小写lower函数:SELECT LOWER(column_name) FROM table_name;
小写转大写upper函数:SELECT UPPER(column_name) FROM table_name;

你可能感兴趣的:(笔记)