我笔记--Head First SQL.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Head First SQL 数据和表 保存所有东西的地方 数据库是保存表和其他SQL结构的容器。 数据库内的信息组成表。列是存储在表中的一块数据,行是一组能够描述某个事物的列的集合。列和行构成了表。 数据库包含关联数据。 CREATE DATABASE database_name; USE database_name; CREATE TABLE table_name( column_name type[length] [NOT NULL] [DEFAULT] [AUTO_INCREMENT]…, …… [, PRIMARY KEY (COLUMNNAME)]); AUTO_INCREMENT会忽略insert时指定的null。 DESC table_name; DROP TABLE table_name; INSERT INTO table_name(column_name,…) VALUES(…); NULL不等于0,不是空字符串变量。两个NULL变量也不能比较。 SELECT 语句 取得精美包装里的数据 SELECT * 用’,\转义 = = = IS NULL BETWEEN LIKE(% _) AND OR NOT IN DELETE和UPDATE 改变是件好事 DELETE FROM *** WHERE *** UPDATE *** SET ***=***,***=***,… WHERE ***; 聪明的表设计 为什么要规范化 设计表: 挑出事物,挑出希望描述的某样事物 列出一份关于那样事物的信息列表,这些信息都是使用表时的必要信息 使用信息列表,把关于那样事物的综合信息拆分成小块信息,以便用于组织表 具有原子性数据的列中不会有多个类型相同的值 具有原子性数据的列中不会有多个存储同类数据的列 主键用于独一无二地识别出每条记录 主键不可以为NULL 插入新纪录时必须指定主键值 主键必须简洁 主键值不可以被修改 第一范式: 每个数据行必须包含具有原子性的值 每个数据行必须具有主键 SHOW CREATE TABLE ***; ALTER ALTER TABLE ** ADD COLUMN ** TYPE [NOT NULL] [AUTO_INCREMENT][POSITION] …,… ALTER TABLE ** ADD PRIMARY KEY (**) (多个个ADD可以用逗号隔开,连在一起。上面第二行可自动填充主键。POSITION值为FIRST……) ALTER 改写历史 ALTER中 POSITION可取的值: FIRST, SECOND, THIRD, …, LAST, AFTER COLUMN_NAME, BEFORE COLUMN_NAME ALTER 选项 CHANGE 可同时改变现有列的名称和数据类型(有遗失数据风险) MODIFY 修改现有列的数据类型或位置(有遗失数据风险) ADD 在当前表中添加一列,可自选类型 DROP 从表中删除某列(有遗失数据风险) RENAME 表更名 ALTER TABLE TABLENAME CHANGE COLUMN OLD_NAME [NEW_NAME] [TYPE] [NOT NULL] […], CHANGE/ADD/…; ALTER TABLE TABLENAME MODIFY COLUMN COLUMN_NAME [NEW_TYPE][NEW_POSTION]; ALTER TABLE TABLENAME DROP COLUMN COLUMN_NAME; ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME; 字符串函数(不会改变存储在表中的内容,将修改当成查询结果返回) RIGHT/LEFT(COLUMN, COUNT) 在列中,从右/左截取COUNT个字符 SUBSTRING_INDEX (COLUMN, ‘SUB’, LOCATION) 在列中,截取第LOCATION个指定字符串前的所有内容 SUBSTRING(COLUMN, START_POSITION, LENGTH) 从指定位置开始截取指定数量字符UPPER/LOWER(COLUMN) REVERSE (COLUMN) LTRIM/RTRIM(COLUMN) 清除字符串左侧/右侧的多于空格 LENGTH(COLUMN)SELECT进阶 以新视角看你的数据 CASE 根据条件更新列 UPDATE TABLE_NAME SET COLUMN = CASE WHEN *** THEN ** WHEN *** THEN *** … ELSE *** END; ORDER BY ASC

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档