我的笔记--HeadFirstSQL

HeadFirstSQL第1章数据和表保存所有东西的地方1.数据库是保存表和其他SQL结构的容器。2.数据库内的信息组成表。列是存储在表中的一块数据,行是一组能够描述某个事物的列的集合。列和行构成了表。3.数据库包含关联数据。4.CREATEDATABASEdatabase_name;5.USEdatabase_name;6.CREATETABLEtable_name(column_nametype[length][NOTNULL][DEFAULT][AUTO_INCREMENT]…,……[,PRIMARYKEY(COLUMNNAME)]);AUTO_INCREMENT会忽略insert时指定的null。7.DESCtable_name;8.DROPTABLEtable_name;9.INSERTINTOtable_name(column_name,…)VALUES(…);10.NULL不等于0,不是空字符串变量。两个NULL变量也不能比较。第2章SELECT语句取得精美包装里的数据1.SELECT*2.用’,\转义3.=<>><>=<=ISNULLBETWEENLIKE(%_)ANDORNOTIN第3章DELETE和UPDATE改变是件好事1.DELETEFROM***WHERE***2.UPDATE***SET***=***,***=***,…WHERE***;第4章聪明的表设计为什么要规范化1.设计表:挑出事物,挑出希望描述的某样事物列出一份关于那样事物的信息列表,这些信息都是使用表时的必要信息使用信息列表,把关于那样事物的综合信息拆分成小块信息,以便用于组织表2.具有原子性数据的列中不会有多个类型相同的值具有原子性数据的列中不会有多个存储同类数据的列3.主键用于独一无二地识别出每条记录主键不可以为NULL插入新纪录时必须指定主键值主键必须简洁主键值不可以被修改4.第一范式:每个数据行必须包含具有原子性的值每个数据行必须具有主键5.SHOWCREATETABLE***;6.ALTERALTERTABLE**ADDCOLUMN**TYPE[NOTNULL][AUTO_INCREMENT][POSITION]…,…ALTERTABLE**ADDPRIMARYKEY(**)(多个个ADD可以用逗号隔开,连在一起。上面第二行可自动填充主键。POSITION值为FIRST……)第5章ALTER改写历史1.ALTER中POSITION可取的值:FIRST,SECOND,THIRD,…,LAST,AFTERCOLUMN_NAME,BEFORECOLUMN_NAME2.ALTER选项CHANGE可同时改变现有列的名称和数据类型(有遗失数据风险)MODIFY修改现有列的数据类型或位置(有遗失数据风险)ADD在当前表中添加一列,可自选类型DROP从表中删除某列(有遗失数据风险)RENAME表更名3.ALTERTABLETABLENAMECHANGECOLUMNOLD_NAME[NEW_NAME][TYPE][NOTNULL][…],CHANGE/ADD/…;ALTERTABLETABLENAMEMODIFYCOLUMNCOLUMN_NAME[NEW_TYPE][NEW_POSTION];ALTERTABLETABLENAMEDROPCOLUMNCOLUMN_NAME;ALTERTABLEOLD_TABLE_NAMERENAMETONEW_TABLE_NAME;4.字符串函数(不会改变存储在表中的内容,将修改当成查询结果返回)RIGHT/LEFT(COLUMN,COUNT)在列中,从右/左截取COUNT个字符SUBSTRING_INDEX(COLUMN,‘SUB’,LOCATION)在列中,截取第LOCATION个指定字符串前的所有内容SUBSTRING(COLUMN,START_POSITION,LENGTH)从指定位置开始截取指定数量字符SUBSTR(COLUMN,COUNT)切除count长度,返回剩余部分字符串UPPER/LOWER(COLUMN)REVERSE(COLUMN)LTRIM/RTRIM(COLUMN)清除字符串左侧/右侧的多于空格LENGTH(COLUMN)第6章SELECT进阶以新视角看你的数据1.CASE根据条件更新列UPDATETABLE_NAMESETCOLUMN=CASEWHEN***THEN**WHEN***THEN***…ELSE***END;2.ORDERBYASC/DESC3.GROUPBY4.统计函数SUM(COLUMN)AVG(COLUMN)MIN/MAX(COLUMN)COUNT(COLUMN)5.DISTINCTSELECTDISTINCTCOLUMNFROM*ORDERBY*;6.LIMITLIMITCOUNT;LIMITSTART_POSITION,COUNT;//POSITION从0开始计算第7章多张表的数据库设计拓展你的表1.对数据库内的数据描述(列和表),以及任何相关对象和各种连接方式的描述就称为SCHEMA(模式)。为表创建图表可以协助分别看待表的设计与其中的数据2.外键:表中一列,引用到另一个表的主键外键可能与它引用的主键名称不同外键使用的主键也被称为父键,主键所在的表又被称为父表外键用于确认一张表中的行与另一张表中的行相对应外键值不需唯一插入外键列的值必须已存在于父表的来源列中,这是引用完整性外键不一定是父表的主键,但必须有唯一性3.创建带有外键的表CREATETABLETABLE_NAME(COLUMN_NAME……,CONSTRAINTTN1_TN2_CL1_CL2_FKFOREGINKEY(COLUMN_NAME)REFERENCESTABLENAME(COLUMN_NAME));4.当某列的数据必须随着另一列的数据的改变...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?