欢迎来到汇淘网

汇淘网

PHP从入门到精通

时间:2019-12-07 10:01:41 出处:抒情散文阅读(143)

版权声明:本文是博客作者的原创文章,遵循CC 4.0 BY-SA版权协议。请附上原始资料和本声明的链接以便重印。 本文链接:https://blog.csdn.net/qq_41511262/article/details/99823397第一章数据库简介1,什么是数据库?数据库是存储数据的仓库。为了便于数据存储量的管理,数据按照特定的规则存储在磁盘上。通过数据库管理系统,存储在数据库中的数据得到有效的组织和管理。 2.什么是数据库系统?数据库系统和数据库不是一个概念。数据库系统比数据库大得多,由数据库、数据库管理系统和应用程序开发工具组成 。 3.什么是数据库管理系统?数据库管理系统 用于定义数据、管理和维护数据的软件 它是数据库系统的重要组成部分 4.什么是SQL ?结构化查询语言简称为SQL。数据库管理系统通过SQL语言管理数据库中的数据。 5、SQL语言组件?数据定义语言(DDL)数据定义语言,主要用于定义数据库 、表 、视图、索引和触发器,如DROP、CREATE、ALTER等语句DML(数据管理语言):主要包括数据的添加、删除和修改,数据的插入插入 更新更新数据,删除删除数据 DQL(数据查询语言):数据检索语句 它用于从表中获取数据,并确定数据在应用程序中是如何给出的,例如选择查询数据。 数据控制语言(DCL):数据控制语言,主要用于控制用户的访问权限 ,如GRANT 、REVOKE、COMMIT、ROLLBACK等语句 第二章数据库1的安装和配置、mySQL安装目录bin目录简介、存储可执行数据目录、存储数据文件包括目录、存储包括头文件库目录、存储库文件文档目录、文档共享目录、错误消息和字符集文件my.ini文件、MySQL配置文件2、MySQL语句的规范关键字和函数名均为大写数据库名 、表名、库段名等。所有小写的SQL语句都必须以分隔符结尾。QSL声明支持线折叠操作。只要单词、标签或引号字符串没有分成两部分,它们就可以在下一行继续书写。 不要将MySQL保留字用于数据库名、表名、字段名等。如有必要,请使用双引号(“”)将名称括起来 3.链接到一个相对易于使用的软件安装包:https://pan.baidu.com/s/1PrVYOShrNMtT_2_xTIt41w提取代码:0umu。复制完此内容后,打开百度网盘移动应用,操作更加方便。链接:HTTPS://pan .百度。复制完此内容后,打开百度网盘移动应用,操作更加方便。第三章数据库存储引擎1,什么是存储引擎?存储引擎引用表的类型 数据库的存储类型决定了表在计算机中的存储模式。用户可以根据不同的存储模式选择合适的存储引擎2进行事务处理。如何查看MySQL的存储引擎?查看MySQL支持的存储引擎:显示引擎查看显示支持的存储引擎信息:显示像“有%”这样的变量查看默认存储引擎:显示像“存储引擎”3这样的变量。MyAQL通用存储引擎和InnoDB存储引擎的特点:适用于对事物完整性和MyISAM存储引擎并发控制的高要求:数据插入速度快,使用空和表少,适用于数据插入和数据读取内存存储引擎:数据插入和数据读取速度快,安全性高 第4章MySQL数据表创建1,如何创建数据表?如果不存在,创建表[]TBI名称(字段名称字段类型[完整性约束])引擎=引擎名称字符集=“编码方法”;完整性约束:主键主键主键自动_增量自增长外键外键不为空不空唯一键唯一默认第5章测试数据类型1,如何查看数据表和数据库的表结构?查看数据库下的数据表:SHOW TABLES查看指定表的表结构:tbl _ name2中的desc table _ name descriptbebl _ name how columns ,测试整数createtabletext1 (num 1 tinyint,num 2 smallint,num 3 medium,num 4 int,num 5 big int);插入test1值(-128,-32768,-8388608,-2147483648,-9223372036854775808);从文本1中选择*;3.test unsigned create table test2(num 1 tinyint unsigned,num 2 tinyint);插入测试2值(0,-12);插入测试2值(-10 ,-12);4、零填充零填充创建表3(数字1 tinyint zerofil,数字2 smallint zerofil,数字3 mediumint zerofil,数字4 int zerofil,数字5 big int zero fil);插入测试3值(1,1,1 ,1,1);插入测试3值(123 ,1,1,1,1);5.测试浮点型创建表测试器4(数字1浮点(6,2),数字2双字节(6,2) ,数字3十进制(6,2));插入测试4值(3.1415、3.1415、3.1415);插入测试4值(3.2495、3.2495、3.2495);第6章测试字符串类型1、CHAR类型和VARCHAR类型以及TEXT类型之间的区别。字符固定长度字符串占据大空而可变长度字符串占据小空的高速 。低速文本类型是一种特殊的字符串类型,只能存储字符数据,不能有默认值。他们三个以不同的方式存储和检索数据。数据检索效率是CHAR >的。VACHAR> 。保存时,TEXTCHAR将被空单元格填充到指定长度,而空单元格将在检索时脱落 。 保存时不会填充VACHAR 。保存和检索值时,末尾的空框将保持为2。YEAR类型的日期和时间将仅保留年份,占用空的小空间。与日期和时间相关的其他时间戳可以用整数保存,便于计算。 如果不存在,测试CHAR和varCHAR create table text 5(stru 1 CHAR(5)stru 2 CHAR(5));插入test5值(“1”、“1”);插入test5值(“12345”、“12345”);插入test5值(“”、“”);插入test5值(“1”、“1”);插入test5值(“a”、“a”);选择串联(str1,-'),串联(strr2,-') EROM测试5;从测试5中选择串联(-',str1),串联(-',str 2);测试枚举类型createtable(如果不存在)测试7(6枚举(“男性”、“女性”、“机密”);插入test7值(“男性”);插入test7值(“女性”);插入test7值(“机密”);插入测试7值(2);插入测试7值(空);测试集合类型createtable(如果不存在)test8 (favset ('a ',' b ',' c ',' d ');插入测试8值(“A”、“C”、“D”);插入测试8值(“D”、“B”、“A”);插入测试8值(3);插入测试8值(15);如果不存在 ,测试日期和时间可创建表格测试9(出生年份);插入测试9值(1901);插入测试9值(2155);插入测试9值(2156);如果不存在,创建表格测试10(测试时间);插入test10值(“1 12:12:12”);插入test10值(“11:11”);如果不存在,创建表格测试11(测试日期);插入测试11值(' 12-6-7 ');第7章测试自增长(与主键一起使用)测试现有用户的自动增量创建表(idsmallkey auto _ in cement,username varchar(20));插入用户5值(1,“金”);插入用户5(用户名)值(“皇后”);插入用户5值(111,“KING1”);插入user5(用户名)值(“queen 1”);插入用户5值(空,“AAAA”);插入用户5值(默认值,“AAAA”);指定数字增量创建表(如果不存在)的起始值用户6(标识小型密钥自动增量,用户名称可变字符(20))自动增量= 100;插入user6(用户名)值(“queen 1”);修改自增加值更改表用户6自动增量= 500;第8章非空约束测试不为空(插入时不能有空值为空,如果标签不为空,则默认为空)如果不存在,则创建表7(id int unsigned key auto _ increment)。用户名VARCAR(20)不为空,密码CHAR(32)不为空,年龄TINYINT未签名);插入用户7(用户名、密码、值(“KING”、“KING”);第8章测试默认值测试默认值如果不存在创建表user 8(identunsignedkeyauto _ increment,usernamevarchar (20)不为null。Passwordchar (32)不为空,agetinyint无符号默认值18,addrvarchar (50)不为空默认值“北京”,sex ENUM(“男性”、“女性” 、“机密”)不为空默认值“男性”);插入用户8(用户名、密码)值(“KING”、“KING”);插入用户8值(2,“女王”,“女王”,29,“上海”,“机密”);插入用户8值(3,“皇后”,“皇后” ,默认,默认 ,“机密”);第8章测试唯一性约束测试uniquekey createtable是否不存在user 9(id tinyint unsigned keyauto _ increment ,username varchar (20)不为nullunique,cardchar (18)唯一);插入用户9(用户名)值(“A”);插入用户9(用户名)值(“A1”);插入用户9(用户名)值(“A1”);第9章如何重命名数据表修改表结构修改表名:ALTER TABLE tbl名称重命名[为| As]新名称重命名表名为新名称添加字段:ALTER TABLE tbl名称添加字段类型[完整性约束][FIRST|ALTER字段名称]删除字段:ALTER TABLE tbl名称删除字段名称修改字段:ALTER TABLE TBL名称修改字段类型[完全约束][FIRST|AFTER字段名称] 修改字段名:ALTER TABLE tbl_name CHANGE旧字段名新字段名字段类型[完整性约束][第一|后字段名]添加默认值:ALTER TABLE tbl_name ALTER字段名集默认值删除默认值:ALTER TABLE tbl_name ALTER字段名DROP DEFAULT修改表存储引擎:ALTER TABLE tbl_name ENG INE=存储引擎名称集自增长值:ALTER TEBLE TBL _ NAME AUTO _ INCRIMNET =值第10章插入记录操作数据操作(DML)1。 插入的数据没有指定特定的字段名称将[插入] TBI _名称值|值(值...)列出指定的字段将[插入] tbi_name[(字段名称,...)] VALUES|VALUE(值1,...)并同时插入多个记录将[插入] tbi_name[(字段名 ,...)] VALUES(值...),(值...)...插入记录将[插入] TBI _名称集字段名称=值通过集,...将查询结果插入表将[插入] tbi_name[(字段名,...)]从TBI _ name[条件]2中选择字段名,更新数据更新tbi_name SET字段名=值,...[WHERE条件][或按字段名称][极限极限极限数]3。删除数据删除自tbi_name[WHERE条件][ORDER BY字段名][极限数]完全清除空数据表截断[表] tbl_name第11章查询表达式查询数据操作(DQL)1,查询记录选择_ expr [,选择_ expr...]表中的[引用了[的条件][集团,...分组][HAVING条件按{ col _ name | position }[ASC | desc }对分组结果进行两次过滤][排序,...排序][极限限制显示的列数]]2。查询表达式的每个表达式都表示所需的列,并且必须至少有一列,所有列都用逗号分隔。Tbl_name *表示表的所有列查询表达式可以由[AS]alias_name给定别名3,其中条件查询条件符号比较=,<,>;=,>;,>;=,|=,<。>;,| >;,|<。,< 。= >;指定和之间的范围,而不是nettween,并指定集合IN。“不在”匹配字符 ,例如,无论是否类似控件为空,“不在”为空多个查询条件,“或”第12章模糊查询-模糊查询-%:表示0一个或多个任意字符-:表示任意字符-查询用户从CMS _ user中选择*其中用户名为“张%”;-查询用户选择* fromcms _ userwhere用户名 ,如用户名包含在中的“% in% ”;-查询所有用户选择* from CMS _ user where username like“%”;-查询用户名为“_ _ _”的用户选择*。第13章逻辑运算符-从CMS _ User中查询具有主用户名和主密码选择*的用户,其中用户名=“主”和密码=“主”;-用户选择*来自cms_user,其中id >查询号大于或等于3,可变年龄位置为空;=3且年龄不为空;-查询号大于或等于3、可变年龄不为空、项目名称为3的用户,请从cms_user中选择*其中Id >的用户;=3 ,年龄不为空 ,proId = 3;-查询编号为5到10、用户名为4位的用户,从CMS _ user中选择*,其中标识在5到10之间,用户名类似' _ _ _ _ _ _ ';-查询用户名以张开头或省为2的记录,从CMS _ user中选择*其中用户名如“张%”或输入(2 ,4);第十四章按查询结果分组查询分组-查询用户所在省份按项目分组从CMS _用户组中选择*;-按性别从cms _用户组中选择*;-按字段位置分组从cms _用户组B7中选择*;-group select * from CMS _ user group by ex,由多个字段提供;-查询号大于或等于5的用户按性别分组,以选择*来自cms_user,其中id >为;=5按性别分组;第15章有陈述对分组结果进行二次筛选-查询性别 、用户名详细信息、组内总人数、最大年龄和总年龄。选择“性别” ,组_串联(用户名)作为用户,计数(*)作为总用户按性别分组。最大年龄为最大年龄,总和年龄为总和年龄,来自cms用户组,按性别分列;-选择性别 ,group _ concat(用户名)作为用户,count (*)作为总用户,max(年龄)作为查询组中超过2人的max _ age总和(年龄)为总和年龄;来自cms _ user按性别分组有计数(* >;2 .第15章奥得法按id降序排列查询结果-DESC ,默认为从cms _ userorderby iddesc中选择*;-按年龄升序从cms _ userorder by ageasc中选择*;-使用字段位置按id降序从cms _ userorderby iddesc中选择*;-按年龄升序和id降序排序(当年龄值相同时,考虑第二个字段),按年龄asc、iddesc从cms _ userorder中选择* fromcms _ userorder第16章极限显示号码' ' LIMT极限查询结果显示号码极限显示号码极限偏移,查询前3条记录的显示号码-从cms_user LIMIT 3中选择*;-为查询表中的第一条记录从cms_user LIMIT 1中选择*;第十七章连接查询1,什么是连接查询?联接查询是根据一定的条件联接两个或多个表来选择所需的数据。当同时查询两个或多个表时,使用连接查询。当具有相同含义的字段存在于不同的表中时,这些表可以通过该字段连接 。 2.内部联接查询JOIN | CROSSING JOIN INNER JOIN通过开联接条件显示满足两个表中联接条件的记录。外部联接查询左[外部]联接在左表中显示所有记录,在右表中显示满足联接条件的记录。右联接右[外]联接显示右表中的所有记录以及满足左表中条件的记录。第十八掌外键操作外键是表中的一个特殊字段 引用的表是主表,外键所在字段中的表是子表 。需要记住设置外键的原则,即它取决于数据库中现有表的主键。 外键用于建立表与其父表之间的关系。 对父表中记录的操作是子表中的相应信息也应该相应地改变。 外键用于维护数据的一致性和完整性,并且可以实现一对一或一对多的关系。注意:父表和子表必须使用相同的存储引擎,并且禁止使用临时表 数据表的存储引擎只能是InnoDB。外键列和引用列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同。字符的长度可以不同 外键列和引用列必须创建索引。如果外键列没有索引,MySQL将自动创建索引 外键约束的引用操作CASCADE:从父表中删除或更新,并自动删除或更新子表中匹配的行 设置为空:从父表中删除或更新行,并将子表中的外键列设置为空。如果使用此选项,必须确保子表列没有指定“不为空”。限制:拒绝删除或更新父表无操作:标准SQL的关键字,与MySQL中的限制相同 第十九章联合查询UNION Union和UNION ALL 第二十章子查询1,什么是子查询?子查询是将一个查询语句嵌套在另一个查询语句中。内部查询语句的查询结果可以为外部查询语句提供条件 。2.触发子查询的条件是什么?在子查询中使用比较运算符=、>、& lt,>;=,<。=,<。>; , !=,<。=。>;使用“[不存在”的子查询使用子查询|运算符|任何部分全部|| >任何|部分或全部; ,>;= |敏敏最大|| <,& lt= |最大最小值| | = |任何值任何值| | < >,!= |任何值|3,将查询结果写入数据表将[插入] TBL _名称[(列_名称,...)]选择...4.创建一个数据表,并将查询结果写入数据表创建表[如果不存在] TBL _名称[(创建_定义,...)] SELECT _ STATEMENT第21章正则表达式查询1,正则表达式'匹配方法' 2,常用匹配方法模式字符,意思是匹配字符开始部分$匹配字符串结束部分代表字符串中的任何字符,包括回车符和换行符[字符集]匹配字符集[字符集]匹配除字符集S1|S2|S3匹配S1、S2、S3 *中的任何字符之外的任何字符 示例:匹配字符串的开头,并查询用户选择* from CMS _ user where usernameregexp ' t ',其用户名以t开头;-$匹配字符串末尾的部分select * from CMS _ user where usernameregexp ' g $ ';-表示从cms _ userwhere usernameregexp 'rg '中选择*的任何字符;-[字符集] [LTO]从CMS _ user where usernameregexp '[LTO]中选择*;-[“字符集]除字符集的内容外,从CMS _ user where usernameregexp“[”中选择*;-指定范围select * from CMS _ user where usernameregexp '[a-k]';第22章运算符在mysql 1中的使用算术运算符符号表达式充当+x1+x2加法- X1-x2减法*x1*x2乘法/x1/x2除法DIVx1 DIV x2除法%x1% x2余数mod {x1 ,x2}余数2,比较运算符= x1=x2的符号形式决定其是否相等< >;或者。= x1<。>;X2还是x1!=x2以判断是否不相等< = >;x1<。= >;X2确定它是否相等,并可以确定它是否等于空值。 ,>;= x1>。x2,x1 >;=x2来判断它是否大于或等于<,& lt= x1<。x2 ,x1<。=x2判断是否小于或等于为空或不是空x1为空判断是否等于空x1不是介于和之间的空x1并判断其是否在介于和之间的范围内。INx1 IN(值1,...)判断LIKE或LIKEx1 LIKE表达式是否在某一固定范围内,判断它是否与REGEXP x1 REGEXP正则性相匹配,判断它是否与3正则性相匹配,以及逻辑运算符函数的符号形式& & amp或与| |或或或或或或!“或非”不是倒异或“异或”差值为真4,运算符优先级(优先级可以通过括号更改)优先级运算符优先级运算符1!8 | 2 ~ 9 =,& lt= >;,<。,<。=,|=,<。>;,IN,IS,NULL,LIKE,REGEXP3 ^ 10介于和之间,CASE,WHEN,YHEN,ELSE4 |*,/,DIV,%,MOD 11 NOT5 +,-12 & amp;& amp,AND6” ,《13 ||,OR,XOR7 & amp十四岁。=第23章数学函数库CEIL的名称描述()舍入到FLOOR()舍入1,MOD,余数,幂 ,幂 ,舍入截断()数字截取ABS()绝对值PI () Pi RAND()和RAND{x}返回介于0和1之间的随机数,当RAND{x}x为同一个符号时返回的随机数{x}返回x的符号,x为负,0, 正数返回-1、0和1EXP{x}计算e第24章字符串函数库函数名称描述CHAR_LENGTH的n次方返回的字符串长度中的字符数返回字符串长度CONTRA(S1、s2, ...将字符串组合成字符串CONCAT_WS(x ,s1 ,s2,...)将字符串uppercase与指定分隔符连接 ,将字符串转换为大写lowercase将字符串转换为小写LEFT(S,N)/RIGHT(S,N)返回第一个/最后一个字符LPAD(S1,莱恩,S2)/普拉德(S1,莱恩, S2)用S2填充字符串S1到指定的长度/边缘/修剪,以删除字符串中的空格修剪(S1自S)。删除字符串S开头和结尾的字符串S1REPEAT(S ,N)。将字符串重复指定的次数SPA(ECN)返回N 空格替换(S,S1,S2),以在字符串S中搜索S1并用S2STRCP(S1,S2)替换它 分别返回1,0,-1个字符(S,N,LEN)截取字符串反向(S)反向字符串ELT(N,S1,S2,...)返回指定位置的字符串第25章日期时间函数名称描述CURDATE(),CURRENT_DATE()返回当前日期CURTIME(),CURRENT_TIME()返回当前日期NOW()返回当前日期和时间MONTH(D)返回日期中的月份值MONTHNAME(D)返回日期中的月份名称。返回一月一日姓名(D)返回日期是一周中的某一天,例如,周一至周五(D)返回一周中的某一天。1表示周日工作日(星期日) 。返回日期是一周的哪一天?0代表周一周(D)一年中的一周(D)返回年值小时(T)返回小时值分钟(T),分钟值秒(T)返回第二个日期差异(D2 D1)计算两个日期之间的天数第26章条件判断函数和系统函数的名称描述IF(EXPR、V1、V2)如果表达式表达式有效,返回结果V1,否则V2,如果V1不为空,将显示V1的值;否则V2, 其中exp1 CASE表示功能的开始,END表示功能的结束。 如果设置了表达式exp1,则返回V1;如果表达式exp2设置为THEN v1当exp2时,返回V2值,依此类推;最后,当遇到ELSE时,返回Vn thenv2] [elsefn] endversion()的值,返回数据库的版本号CONNECTION_ID(),返回到服务器数据库的连接数(),SCHEME()返回当前数据库名USER()SYSTEM_USER()返回当前用户CURRENT_USER(), CURRENT_USER返回当前用户字符集(str)返回的字符串字符串的字符集排序规则(STR)返回字符串的验证字符集LAST_INSERT_ID()返回最近生成的AUTO_INCREMENT第27章其他常用函数常用加密函数名称描述MD5(str)信息摘要算法密码算法其他常用函数名称描述FORMAT(x,n)格式化数字X,ASCL(s)返回字符串第一个字符的ASCL值BIN(x), 返回X的二进制代码HEX(x),返回X的十六进制代码OCT(x)。返回八进制编码CONV(x,f1 x (x,f1,F2)将X从f1更改为f2 INET_ATON(IP)将IP地址转换为号码INET_NTOA(n)将号码转换为IP地址GET_LOCT(名称,时间)定义锁定释放_锁定(名称)解锁第28章索引1的使用,什么是索引? 索引由数据库中的一列或多列组成。它的功能是提高表中数据的查询速度 。索引的优点是提高了检索数据的速度。索引的缺点是创建和维护索引需要时间。索引可以提高查询速度,降低导入速度。2.索引的分类?普通索引唯一索引全文索引单列索引多列索引空索引3,如何创建索引?创建表时,创建索引创建表tbl_name(字段名 ,字段类型[完整性约束),...,[唯一|全文|空间]索引|关键[索引名称](字段名[(长度)][ASC | desc]);创建索引创建[唯一|全文|空间]表名上的索引名{字段名[(长度)] [ASC | desc]}更改表tbl _ name添加[唯一|全文|空间]索引名(字段名[(长度)] [ASC | desc])' 4。如何删除索引?DROP INDEX索引名otbl _ name 高德全链路压测平台TestPG的架构与实践

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: