`
aaron_xh
  • 浏览: 4642 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

MySQL数据库学习笔记

阅读更多
sql 代码
  1. MySQL数据库学习笔记   
  2.     关系数据库的查询语言 SQL (Structured Query Language),是一种非常口语化、既易学又易懂的语法。此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作,包含了资料的定义(DDL)以及资料的处理(DML)。SQL原来拼成SEQUEL,这语言的原型以“系统 R“的名字在 IBM 圣荷西实验室完成,经过IBM内部及其他的许多使用性及效率测试,其结果相当令人满意,并决定在系统R 的技术基础发展出来 IBM 的产品。而且美国国家标准学会(ANSI)及国际标准化组织(ISO)在1987遵循一个几乎是以 IBM SQL 为基础的标准关连式资料语言定义。    
  3.   
  4. 第一章、了解概念,并理解它   
  5. 一、资料定义 DDL(Data Definition Language)    
  6. 资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系、表格内的有什麽栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的。    
  7. 数据库   
  8.   
  9.   
  10. 第二章 MySQL数据库数据类型    
  11.   
  12. 第一节、数据类型   
  13.   
  14. MySQL数据库目前支持以下几种   
  15. 下列代码字母用于描述中:   
  16. M 指出最大的显示尺寸。最大的显示尺寸长度为 255。    
  17. D 适用于浮点类型。指出跟随在十进制小数点后的数字数量。最大可能值为 30,但不应大于 M-2。    
  18. 方括号 ( "["   and   "]" ) 指定可选的类型修饰部份。    
  19.   
  20. 1、数值型(包括整数与浮点数,浮点型支持科学表示法)   
  21. 浮点类型:   
  22. numeric  [nju:merik]  decimal (5,2),数字位:5,小数位:2    
  23. numeric  等价于  decimal  并且是作为字符串存储的.而不是作为二进制浮点数.   
  24.   
  25. 说明:   
  26. salary  DECIMAL (3,2)   
  27. 在这个例子中,3 (精度( precision )) 代表重要的十进制数字的数目,2 (数据范围(scale)) 代表在小数点后的数字位数。在这种情况下,因此,salary 列可以存储的值范围是从 -99.99 到 99.99。(实际上 MySQL 在这个列中可以存储的数值可以一直到 999.99,因为它没有存储正数的符号)。    
  28.   
  29.   
  30. 整型: integer   
  31. 类型  占用字节  从      到     
  32. TINYINT  1   -128     127     
  33. SMALLINT  2   -32768     32767     
  34. MEDIUMINT 3   -8388608    8388607     
  35. INT    4   -2147483648    2147483647     
  36. BIGINT   8   -9223372036854775808 9223372036854775807     
  37.   
  38. 2、字符串(字符)类型   
  39. 3、日期和时间类型   
  40. 4、 Null 类型 不同于例如数字类型的0或字符串的   
  41. 5、布尔类型 TURE  FALSE     
  42.   
  43. 标识符约定   
  44. 标识符   最大长度 允许的字符   
  45. ---------------   
  46. 数据库  64  一个目录名中允许的任何字符,除了/,\和.   
  47. 表  64  一个目录名中允许的任何字符,除了/和.   
  48. 列  64  所有的字符    
  49. 索引 64  所有的字符    
  50. 加名 255  所有的字符   
  51. 定界符``,反引号ANSI SQL中双引号为定界符   
  52.   
  53. 注意:在MYSQL中,数据库和表对应操作系统下的目录与文件,因而,操作系统的敏感性决定数据库和表命名的大小敏感,所以在LINUX下数据库与表名的大小写敏感.   
  54. 提示:USE ,HELP 是Mysql中为少数几个不需要终结符的语句之一.   
  55.   
  56. 用户变量表示为: @var_name;   
  57. set  @x=99; 等同于@x := 99;   
  58. 系统变量用两个@@表示,它分为2种,全局系统变量和会话系统变量.   
  59.   
  60.   
  61. 下面详细说明各种类型   
  62. MySQL支持所有的ANSI/ISO SQL92数字类型.   
  63. 1、数值型   
  64.  一个整数可以在浮点语境中使用;它被解释为等值的浮点数;同样,一个浮点数可以被转化为整数,但损失精度,如100.1->100,100.5->101;   
  65. 2.Mysql支持16进制数值,在数字的语境中,它们表现类似于一个整数(64位精度);如 select  0xa+0;   
  66.   在字符串的语境中,它们表现类似于一个二进制的字符串,每一对16进制ASCII码被转为一个字符:   
  67.    select  0x787868 ; = select  x'787868';   
  68.    select  hex('xxh');   
  69.    select  0xa+5;   
  70.      
  71.    select   true , true ,flase, FALSE ;   
  72.   
  73.   其中浮点型用于域,表示方法解释一下,如:   
  74.    FLOAT [(M,D)] [UNSIGNED] [ZEROFILL]    
  75.   如果 UNSIGNED 被指定,负值是不允许的。M 是显示宽度,D 是小数位数。并且如果负号“-”也占一个宽度。   
  76. 2、字符串类型   
  77.   字符串是多个字符组成的一个字符序列,由单引号,或双引号字符包围,但在ANSI模式中运行时只能用单引号,也就是说在SQL SERVER数据库,使用应该使用单引号,保证兼容性应该使用单引号.   
  78.     字符串类型有  CHAR VARCHAR 、BLOB、TEXT、ENUM 和  SET  ;   
  79.   ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。    
  80.   每个枚举值均有一个索引值:    
  81.   在列说明中列表值所允许的成员值被从 1 开始编号。    
  82.   空字符串错误值的索引值为 0。这就意味着,你可以使用下面所示的  SELECT  语句找出被赋于无效 ENUM 值的记录行。    
  83. mysql>  SELECT  *  FROM  tbl_name  WHERE  enum_col=0;   
  84. NULL  值的索引值为  NULL 。    
  85. 总结:ENUM用于互相排斥的值,而  SET 列可以从一个值的列表中选择多个值。   
  86. 常用技巧:   
  87. 1.在命令提示符下:mysql -h -u root db_name <x.sql   
  88.   
  89.   
  90.   在串的环境中,可用十六进制常数来指定串值。其语法与前面描述的数值值相同,但是每对十六进制的数字都被看作 ASCII 代码并转换为字符,其结果用于串。例如, 0x616263作为串时为“a b c”。   
  91.   在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“\”)开头,称为转义字符。 MySQL 识别下列转义字符:    
  92. \0 一个 ASCII 0 (NUL) 字符。    
  93. \' 一个 ASCII 39 单引号 (“'”) 字符。    
  94. \ " 一个 ASCII 34 双引号 (“" ”) 字符。    
  95. \b 一个 ASCII 8 退格符。    
  96. \n 一个 ASCII 10 换行符。    
  97. \r 一个 ASCII 13 回车符。    
  98. \t 一个 ASCII 9 制表符(TAB)。    
  99. \z ASCII(26) (Control-Z)。这个字符可以处理在 Windows 系统中 ASCII(26) 代表一个文件的结束的问题。(当使用 mysql  database  < filename 时 ASCII(26) 可能会引起问题产生。)    
  100. \\ 一个 ASCII 92 反斜线 (“\”) 字符。    
  101. \% 一个 ASCII 37 “%” 字符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。查看章节 6.3.2.1 字符串比较函数。    
  102. \_ 一个 ASCII 95 “_” 字符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。查看章节 6.3.2.1 字符串比较函数.    
  103.   
  104. 3、日期和时间类型   
  105. 4、 Null 类型   
  106. Null 是ANSI中值的空。查找 NUll 类型用 IS   Null  和 IS   Not   Null 测试;并且不能对 NULL 类型进行算术运算。其结果为 NULL 。   
  107. 5.mysql的注释   
  108. 为两种:/**/和#(单行注释,类似UNIX的脚本注释;)   
  109.   
  110.     
  111. 第07章 MySQL函数   
  112. mysql 运算符   
  113. A.比较运算符=,!=(<>),>,>=,<,<=   
  114. Null 安全等于比较<=>   
  115. is   null  , is   not   null   isnull (express)   
  116. 如果expr大于或等于 min ,并且expr小于或等于 max , between 返回1,否则返回0.它等价于表达式   
  117. ( min <=expr  and  expr<= max )   
  118. expr  in  (v1,v2,....);如果expr 是 in 列表中的一值,它将返回1,否则返回0.   
  119. B.逻辑运算符   
  120.  在mysql中,所有的逻辑运算符返回的值均为 true , false ,或 null (未知),在mysql中,它们由1( true ),0( false )和 null 实现.   
  121.   select  !1 等同于  select   not  1;   
  122.  C.流程控制函数   
  123.  ifnull(expr1,value) 当expr1的值是 null 时,返回value,不是 null 时,返回expr1   
  124.   
  125.   case  value  when  [compare-value]  then  result [..]   
  126.   set  @a=2;   
  127.   select   case  @a    
  128.   when  1  then  'one'   
  129.   when  2  then  'two'   
  130.   else  'more'  end ;   
  131.   
  132.  if (expr1,expre2,expr3)   
  133.  如果expr1为真,(expr1<>0以及expr1<> null ),那么if()返回expr2,否则返回expr3   
  134.   
  135.   nullif (expr1,expr2) 如果expr1=expr2为真,返回 null ,否则返回expr1;   
  136. mysql>  select   nullif (1,1);   
  137.  ->  null   
  138. mysql>  select   nullif (1,2)   
  139.  -> 1   
  140. D.mysql字符串函数   
  141. 返回字符串str最左边的那个字符的ASCII码值.   
  142. mysql>  select  ascii('2');   
  143.  -> 50   
  144. 返回N的字符串表示的2进制值形式.   
  145. mysql>  select  bin(12);   
  146.  -> '1100'   
  147. 返回N的字符串表示的八进制值形式   
  148. mysql>  select  oct(12);   
  149.  -> 14   
  150.   
  151. 如果x是一个数字,返回n的字符串表示的16进制值形式,这里n是一个长长的( bigint )数字.   
  152. 如果x是一个字符串,x中的每个字符均被转换为2位16进制数字,并以16进制的字符串形式返回.   
  153. 这是0xff形式的字符串反转操作.   
  154. mysql>  select  hex(255);   
  155.  -> ff   
  156.   
  157. mysql>  select  hex('abc'); // select  ascii('a'); -> 97  select  hex(97); -> 61   
  158.  -> 616263   
  159. mysql> 0x616263;   
  160.  -> abc   
  161.   
  162. char ()以整数类型解释参数,返回这个整数所代表的Ascii码值给出的字符组成的字符串, null 值将被忽略   
  163. mysql>  select   char (120,120,104);   
  164.  -> xxh   
  165.   
  166. concat(str1,str2,...)   
  167. 将参数连接成字符串返回,如果有任何一个参数为 null ,返回值也为 null .   
  168. locate(子串substr,母串str)返回子串substr在字符吕中第一次出现的位置.如果子串substr在str中不存在,返回值为0:   
  169.   
  170. ltrim(str)   
  171. 返回移除了领头的空格字符后的str;   
  172.   
  173.   
  174. 第08章 MySQL数据操纵语言DML   
  175. · select  语法   
  176. ·   
  177.   
  178. select  列1,列2,列3,,,,,   
  179. from  表1,表2,表3   
  180. [ where  条件]   
  181. [ group   by  ...]   
  182. [ having  ....]   
  183. []   
  184.   
  185. 第二节 域/列类型属性   
  186. 域/列的类型属性,有以下特性:   
  187. ■ 其中可以存放什么类型的值。   
  188. ■ 值要占据多少空间,以及该值是否是定长的(所有值占相同数量的空间)或(所占空间量依赖于所存储的值)。   
  189. ■ 该类型的值怎样比较和存储。   
  190. ■ 此类型是否允许  NULL  值。   
  191. ■ 此类型是否可以索引。    
  192.   
  193. ·数字   
  194. ·日期和时间   
  195. ·字符串(字符)   
  196.   
  197. 列类型的属性   
  198. 有以下四种:   
  199. · Default   
  200. · Not   Null   或  Null   
  201. · Primary   Key  即主键   
  202. ·Auto_increment (只有1个只能被索引)   
  203.   
  204. 一、数据库的操作   
  205. |操作系统下的操作   
  206. mysql -h -u -p   
  207. mysql -h localhost -uroot    
  208. ·创建数据库   
  209. ·删除数据库   
  210. ·显示数据库   
  211. ·使用数据库   
  212. ·数据库其他相关操作   
  213.   
  214. 1、创建数据库   
  215. CREATE   DATABASE  db_Name;   
  216. 说明:   
  217.   
  218. 2、删除数据库   
  219. DROP   DATABASE  db_Name;   
  220. 说明:可以简写为: drop  db_name;   
  221.   
  222. 3、显示数据库   
  223. SHOW databases;   
  224. 说明:显示当前有哪些数据库。   
  225.   
  226. 4、使用数据库   
  227. USE  database ;   
  228. 说明:   
  229.   
  230. 5、显示数据库中有哪些表   
  231. 首先USE  database ;   
  232. 然后SHOW tables;   
  233. 参见:show的用法   
  234.   
  235.   
  236.   
  237. 二、表格、索引的操作   
  238. ·创建表格   
  239. ·更改表格   
  240. ·建立索引   
  241. ·删除表格、索引   
  242. ·表格其他相关操作   
  243. 以下操作都是以表格table_name或索引为操作单位。DESCRIBE或 DESC 命令除外。   
  244.    文件           用途     
  245. tbl_name.frm    表定义 (form) 文件     
  246. tbl_name.MYD    数据文件     
  247. tbl_name.MYI    索引文件    
  248.   
  249. 1、创建表格:    
  250. CREATE   TABLE  table_name   
  251. (    
  252.  column1 DATATYPE [ NOT   NULL ] [ NOT   NULL   PRIMARY   KEY ],    
  253.  column2 DATATYPE [ NOT   NULL ],    
  254. ...)   
  255. 说明:     
  256. DATATYPE  --是资料的格式,也就是字段的数据类型   
  257. Not   Null   --不允许资料有空的   
  258. PRIMARY   KEY   --是本表的主键。    
  259. 可以通过一个表的内容来拷贝一个表,如   
  260. CREATE  [ TEMPORARY TABLE  new_tbl_name  SELECT  *  FROM  old_tbl_name;   
  261. CREATE  [ TEMPORARY TABLE  new_tbl_name  SELECT  *  FROM  old_tbl_name  where  1=0; (只是拷贝空表)   
  262.   
  263.   
  264. 2、更改表格     
  265. ALTER   TABLE  tbl_name  ADD   COLUMN  col_name DATATYPE    
  266. 说明:增加一个栏位即(字段)(没有删除某个栏位的语法)。     
  267.   
  268. ALTER   TABLE  tbl_name RENAME  AS  new_name;   
  269. 说明:对表重命名。   
  270.   
  271. ALTER   TABLE  table_name  drop  column_name   
  272. 说明:删除指定的列名。   
  273.   
  274. ALTER   TABLE  tbl_name CHANGE old_column_name new_column_name DATATYPE    
  275. 说明:更改列名及列属性。    
  276. 例: ALTER   TABLE  tbl_name CHANGE old_column_name new_column_name  int (2)  not   null   primary   key  ;    
  277.   
  278. ALTER   TABLE  table_name  ADD   PRIMARY   KEY  (column_name)    
  279. 说明:更改表得的定义把某个栏位设为主键。    
  280. ALTER   TABLE  table_name  DROP   PRIMARY   KEY  (column_name)    
  281. 说明:把主键的定义删除。    
  282.   
  283. ALTER   TABLE  my_tbl TYPE=ISAM或[MYISAM,HELP,InnoDB ……等等]    
  284. 说明:更改表的类型   
  285.   
  286. 3、建立索引     
  287. CREATE   INDEX  index_name  ON  table_name (column_name) ;   
  288. CREATE   UNIQUE  index_name  ON  table_name (column_name) ;   
  289. ALTER   TABLE  tbl_name  ADD   INDEX  index_name(column_list);   
  290. ALTER   TABLE  tbl_name  ADD   UNIQUE  index_name(column_list);   
  291. ALTER   TABLE  tbl_name  ADD   PRIMARY   KEY  (column_list);   
  292.   
  293. 说明:对某个表格的栏位建立索引以增加查询时的速度。    
  294.   
  295. 4、删除表格、索引     
  296. DROP  tbl_name1,tbl_name2,tbl_name3....;    
  297. DROP   INDEX  index_name  ON  tbl_name;   
  298. ALTER   TABLE  tbl_name   DROP   INDEX  index_name;   
  299. ALTER   TABLE  tbl_name   DROP   Primary   Key ;   
  300.   
  301.   
  302. 5、显示表格中列的信息   
  303. 语法:{DESCRIBE |  DESC } tbl_name [col_name | wild]   
  304. DESCRIBE tbl_name;   
  305. 说明:DESCRIBE 是 SHOW COLUMNS  FROM  的缩写。用于显示表格中列的信息。   
  306. DESCRIBE tbl_name; 等于SHOW COLUMNS  FROM  tbl_name;    
  307. 也可以简写为: desc  tal_name;   
  308. describe vt. 描写, 记述, 形容, 形容    
  309.   
  310.   
  311. 三、记录的操作   
  312. ·记录的添加   
  313. ·记录的更改   
  314. ·记录的删除   
  315. ·   
  316. ·   
  317.   
  318. 首先来大概了解一下 INSERT  的语法,有以下几种方式:   
  319.   
  320. INSERT   [ INTO ] tbl_name [(col_name,...)]    VALUES  ((expression |  DEFAULT ),...),(...),...   
  321.         [  ON  DUPLICATE  KEY   UPDATE  col_name=expression, ... ]   
  322. 或者   INSERT  [ INTO ] tbl_name [(col_name,...)]      SELECT  ...   
  323. 或者   INSERT  [ INTO ] tbl_name   SET  col_name=(expression |  DEFAULT ), ...   
  324.         [  ON  DUPLICATE  KEY   UPDATE  col_name=expression, ... ]   
  325.   
  326. 说明:我们只关心记录添加的方式啦。注意啦,现在我们开始啦。   
  327. 1、记录的添加   
  328. 最简单的一种:直接添加一行记录就是:   
  329. INSERT   [ INTO ] tbl_name [(col_name,...)]    VALUES  ((expression |  DEFAULT ),...),(...),...);   
  330. 例: INSERT   INTO  tbl_name (col1,col2)  VALUES (15,col1*2);  insert  tbl_name (col1,col2)  values  ('007','xxh5fd')   
  331. 第二种:   
  332.   
  333.   
  334.   
  335.   
  336. 2、记录的更改   
  337. 还是先来看一看 UPDATE  的语法   
  338. UPDATE  tbl_name [, tbl_name ...]    SET  col_name1=expr1 [, col_name2=expr2 ...]   
  339. [ WHERE  where_definition]   
  340.   
  341. 说明: UPDATE  以新的值更新现存表中行的列。 SET  子句指出要修改哪个列和他们应该给定的值。 WHERE  子句如果被给出,指定哪个记录行应该被更新。否则,所有的记录行被更新。如果  ORDER   BY  子句被指定,记录行将被以指定的次序更新。    
  342. 例子: UPDATE  ybc  set  id=8  where  id=0;   
  343.   
  344. 3.记录的删除   
  345. 简单的语法:   
  346. DELETE   FROM  table_name  WHERE  conditions    
  347. 说明:删除符合条件的资料。    
  348.   
  349.   
  350.   
  351.   
  352.   
  353. 数据语法:   
  354.   
  355. SHOW 语句可用来获取数据库和表的几个方面的信息,它有如下用法:   
  356. SHOW DATABASES 列出服务器上的数据库   
  357. SHOW TABLES 列出当前数据库中的表   
  358. SHOW TABLESFROM db_name 列出指定数据库中的表   
  359. SHOW [ FULL ] COLUMNS  FROM  tbl_name 显示指定表中列的信息,等同于 desc  tbl_name;   
  360. SHOW  INDEX   FROM  tbl_name 显示指定表中索引的信息   
  361. SHOW  TABLE  STATUS 显示缺省数据库中表的说明信息   
  362. SHOW  TABLE  STATUS  FROM  db_name 显示指定数据库中表的说明信息   
  363. DESCRIBE tbl_name 和 EXPLAIN tbl_name 语句与 SHOW COLUMNS  FROM  tbl_name功能相同。   
  364.   
  365.   
  366. SELECT  的使用及语法详解   
  367. 作用说明: SELECT  用于检索从一个或多个表中选取出的行。select_expression 表示你希望检索的列。    
  368. SELECT  也可以被用于检索没有引用任何表的计算列。   
  369.   
  370. 要讲的内容是:   
  371.   
  372. ·第一个查询   
  373. ·选择特定的列,对列进行排序   
  374. ·查找不重复的数据   
  375. ·创建虚拟列,及列的别名的使用   
  376. ·按条件检索   
  377. ·   
  378. ·   
  379.   
  380. 好,现在开始我们的第一个查询啦!   
  381. SELECT  *  From  tbl_name;   
  382.   
  383.     
  384.   
  385.   
  386.   
  387.   
  388.   
  389. 组合查询    
  390. 组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的    
  391. 表格才能够得到结果的。    
  392. SELECT  *    
  393. FROM  table1,table2    
  394. WHERE  table1.colum1=table2.column1    
  395. 说明:    
  396. 1.查询两个表格中其中 column1 值相同的资料。    
  397. 2.当然两个表格相互比较的栏位,其资料形态必须相同。    
  398. 3.一个复杂的查询其动用到的表格可能会很多个。    
  399.   
  400. 整合性的查询:    
  401. SELECT   COUNT  (*)    
  402. FROM  table_name    
  403. WHERE  column_name = xxx    
  404. 说明:    
  405. 查询符合条件的资料共有几笔。    
  406. SELECT   SUM (column1)    
  407. FROM  table_name    
  408. 说明:    
  409. 1.计算出总和,所选的栏位必须是可数的数字形态。    
  410. 2.除此以外还有  AVG () 是计算平均、 MAX ()、 MIN ()计算最大最小值的整合性查询。    
  411. SELECT  column1, AVG (column2)    
  412. FROM  table_name    
  413. GROUP   BY  column1    
  414. HAVING   AVG (column2) > xxx    
  415. 说明:    
  416. 1. GROUP   BY : 以column1 为一组计算 column2 的平均值必须和  AVG SUM 等整合性查询的关键字    
  417. 一起使用。    
  418. 2. HAVING  : 必须和  GROUP   BY  一起使用作为整合性的限制。    
  419.   
  420. 复合性的查询    
  421. SELECT  *    
  422. FROM  table_name1    
  423. WHERE  EXISTS (    
  424. SELECT  *    
  425. FROM  table_name2    
  426. WHERE  conditions )    
  427. 说明:    
  428. 1. WHERE  的 conditions 可以是另外一个的 query。    
  429. 2.EXISTS 在此是指存在与否。    
  430. SELECT  *    
  431. FROM  table_name1    
  432. WHERE  column1  IN  (    
  433. SELECT  column1    
  434. FROM  table_name2    
  435. WHERE  conditions )    
  436. 说明:     
  437. 1.  IN  後面接的是一个集合,表示column1 存在集合里面。    
  438. 2.  SELECT  出来的资料形态必须符合 column1。    
  439.   
  440. 其他查询    
  441.   
  442. SELECT  *    
  443. FROM  table_name1    
  444. WHERE  column1  LIKE  'x%' ;   
  445. 说明: LIKE  必须和後面的'x%' 相呼应表示以 x为开头的字串。    
  446.   
  447. SELECT  *    
  448. FROM  table_name1    
  449. WHERE  column1  IN  ('xxx','yyy',..)    
  450. 说明: IN  後面接的是一个集合,表示column1 存在集合里面。    
  451.   
  452. SELECT  *    
  453. FROM  table_name1    
  454. WHERE  column1  BETWEEN  xx  AND  yy    
  455. 说明: BETWEEN  表示 column1 的值介於 xx 和 yy 之间。    
  456.   
  457.   
  458. 其它重要概念:   
  459. SQL 允许你创建一个虚拟列或对已有的列进组合和修改后产生的派生列。   
  460. SQL 允许可以创建一个新的虚拟列,而且还可以对它安自己的需要进行重命名,你可以按语法列名 别名来对任何一个列进行重命名(注意在列名与别名之间有空格)或用()括起来。   
  461.   
  462.   
  463. 词语解释:   
  464. numeric  [nju:'merik] adj.(=mumerical)数字的, 数值的   
  465. decimal  [desimEl] adj.以十作基础的, 十进位的   
  466.   
  467.   
  468. SQL查询语句精华使用简要   
  469.     
  470.     
  471.     
  472. 一、 简单查询    
  473.   简单的Transact-SQL查询只包括选择列表、 FROM 子句和 WHERE 子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。   
  474.   例如,下面的语句查询testtable表中姓名为 "张三" 的nickname字段和email字段。   
  475.   
  476.     SELECT  nickname,email   
  477.    FROM  testtable   
  478.    WHERE   name ='张三'    
  479.   
  480.   (一) 选择列表   
  481.   
  482.   选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。   
  483.   
  484.   1、选择所有列   
  485.   
  486.   例如,下面语句显示testtable表中所有列的数据:   
  487.   
  488.     SELECT  *   
  489.    FROM  testtable    
  490.   
  491.   2、选择部分列并指定它们的显示次序   
  492.   
  493.   查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。   
  494.   例如:   
  495.   
  496.     SELECT  nickname,email   
  497.    FROM  testtable    
  498.   
  499.   3、更改列标题   
  500.   
  501.   在选择列表中,可重新指定列标题。定义格式为:   
  502.   列标题=列名   
  503.   列名 列标题   
  504.   如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:   
  505.   
  506.     SELECT  昵称=nickname,电子邮件=email   
  507.    FROM  testtable    
  508.   
  509.   4、删除重复行   
  510.   
  511.    SELECT 语句中使用 ALL DISTINCT 选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为 ALL 。使用 DISTINCT 选项时,对于所有重复的数据
分享到:
评论

相关推荐

    mysql 数据库学习笔记

    mysql 数据库学习笔记

    6天MySQL数据库学习笔记

    6天MySQL数据库学习笔记 6天MySQL数据库学习笔记 6天MySQL数据库学习笔记 6天MySQL数据库学习笔记

    MySQL数据库学习笔记.pdf

    MySQL数据库是世界上最受欢迎的开源关系型数据库管理系统之一,它的学习对于任何希望从事IT行业的人员来说都是必不可少的。本文将深入探讨MySQL的一些核心概念和技术。 首先,我们要了解SQL(Structured Query ...

    MySQL数据库学习笔记.zip

    这份"MySQL数据库学习笔记.zip"文件很可能包含了关于MySQL的基本概念、安装与配置、SQL语句、表的设计、索引、视图、存储过程、触发器、事务处理、备份与恢复等多方面的内容。下面我们将深入探讨这些关键知识点。 1...

    我是MySql数据库学习笔记以及相关项目练习.zip

    MySQL数据库是世界上最受欢迎的开源关系型数据库管理系统之一,广泛应用于Web应用程序、数据分析、企业系统等多个领域。本学习笔记和项目练习旨在帮助初学者和进阶者深入理解和掌握MySQL的核心概念和技术。 1. ...

    MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引

    在MySQL数据库的学习中,多表查询是至关重要的一个环节,它涵盖了外键、表连接、子查询以及索引等多个核心概念。这些知识点是理解和优化数据库性能的基础,对于任何数据库管理员或者开发人员来说都是必备技能。 ...

    数据库 MySQL 学习笔记高级篇.md

    数据库 MySQL 学习笔记高级篇.md

    MySQL数据库笔记.doc

    MySQL 数据库笔记 MySQL 数据库笔记是一个详细的数据库笔记,涵盖了数据库的基本概念、CRUD 操作、安装和配置、数据类型等内容。...通过学习这篇笔记,可以对 MySQL 数据库有一个系统的了解,并掌握数据库的基本操作。

    mysql数据库经典笔记

    这只是MySQL数据库的一个简单入门介绍,对于更深入的学习,可以查阅MySQL的在线手册,那里有详细的语法和使用示例。随着经验的增长,你将学会更多高级特性,如索引、视图、存储过程、触发器、事务处理等,从而更好地...

    MySQL数据库课堂笔记 + MySQL-DEMO

    本资源包含了“MySQL数据库课堂笔记”和一个名为“MySQL-DEMO”的实践项目,旨在帮助学习者深入理解MySQL的基本概念、操作及实际应用。 “MySQL数据库课堂笔记”可能涵盖了以下知识点: 1. **数据库基础**:介绍...

    MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)-附件资源

    MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)-附件资源

    MySQL数据库课程笔记.pdf

    MySQL数据库课程笔记.pdf 本资源为 MySQL 数据库课程笔记,涵盖了 MySQL 的基础知识、SQL 语言、数据库管理系统、NoSQL 数据库等多个方面的内容。 数据库基础知识 * 数据库管理系统(DBMS): MySQL 是一种关系型...

    数据库学习笔记(Mysql).xmind

    自己学习mysql数据库的时候整理的笔记,xmind格式的,有需要的可以下载,笔记内容在我的博客文章上有贴图片。

    各种主流数据库学习笔记

    《韩顺平老师oracle视频教程听课笔记.pdf》将带你深入Oracle的世界,学习其高级特性,如PL/SQL编程、分区表、物质化视图、数据库链接、闪回技术、数据守护和RAC(实时应用集群)等。Oracle数据库的复杂性和灵活性使...

    Mysql数据库优化学习笔记

    MySQL数据库优化学习笔记 在数据库管理系统中,MySQL是一款广泛应用的关系型数据库,因其开源、免费、高效的特点,被广泛用于各种规模的项目。然而,随着数据量的增长和业务复杂度的提高,性能优化变得至关重要。本...

    MySQL数据库的学习.md

    MySQL数据库的学习笔记,初学数据库的小白,可以参考

Global site tag (gtag.js) - Google Analytics