home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 579a.lha / sqldb_v1.0alpha2 / doc / sqldb_sqlrefman.doc.pp / sqldb_sqlrefman.doc
Text File  |  1991-12-06  |  7KB  |  287 lines

  1. 0.0
  2. SQLdb SQL reference manual.  Everything in this manual applies only to SQLdb 
  3. and any resemblence to other SQL dialects is purely coincidental.
  4.  
  5. 1.0
  6. -----------------
  7. |SIMPLE ELEMENTS|
  8. -----------------
  9.  
  10. 1.1
  11. table:        SQL identifier
  12.  
  13. column:        SQL identifier
  14.  
  15. alias:        SQL identifier
  16.  
  17. cursor:        SQL identifier
  18.  
  19. An SQL identifier is composed of a letter followed by zero or more characters
  20. from the set of numbers, letters, '_', '#'.  Thus, A#_o1ne is a legal 
  21. indentifier, while _a#45 is not.
  22.  
  23. An SQL identifier cannot be a valid SQL keyword.
  24.  
  25. 1.2
  26. literal:    number or string enclosed in quotes
  27.  
  28.     1234        is a numeric literal
  29.     0.345        is a numeric literal
  30.     'hello'        is a string literal
  31.  
  32. 1.3
  33. data-type:    FLOAT | SMALLINT | INTEGER | CHAR ( integer )
  34.  
  35.     FLOAT        floating point, range float
  36.     SMALLINT    small integer, range -2^15 to 2^15-1
  37.     INTEGER        large integer, range -2^31 to 2^31-1
  38.     CHAR        fixed length character string
  39.  
  40. 2.0
  41. -----------------
  42. |DATA DEFINITION|
  43. -----------------
  44.  
  45. 2.1
  46. CREATE TABLE table ( table-def-item-list )
  47.  
  48. This statement will create the specified table.  If a table already exists,
  49. it will be overwritten.  You must OPEN TABLE or LOAD TABLE after it has been
  50. created in order to use it.
  51.  
  52. 3.0
  53. ----------
  54. |DATA I/O|
  55. ----------
  56.  
  57. 3.1
  58. LOAD TABLE table
  59.  
  60. This statement will open the specified table and load the rows into RAM.  You
  61. must CREATE TABLE before you can LOAD TABLE.
  62.  
  63. 3.2
  64. OPEN TABLE table
  65.  
  66. This statement will open the specified table.  You must CREATE TABLE before you
  67. can OPEN TABLE.
  68.  
  69. 3.3
  70. CLOSE TABLE table
  71.  
  72. This statement will close the specified table.  It write any changes to the
  73. table to disk.  All user tables must be closed before you may exit SQLdb.
  74.  
  75. 4.0
  76. -------------------------
  77. |BASIC DATA MANIPULATION|
  78. -------------------------
  79.  
  80. 4.1
  81. query-spec:    SELECT { select-item-list | * }
  82.             FROM table-ref-list
  83.             [ WHERE search-condition ]
  84.             [ GROUP BY column-ref-list ]
  85.             [ HAVING search-condition ]
  86.             [ OUTPUT TO file-name ]
  87.  
  88. This statement is used to retrieve information from the database.  It is
  89. made up of several clauses, which are explained in the following sections.
  90.  
  91. 4.1.1 FROM clause
  92.  
  93. This clause specifies which tables SQLdb is supposed to gather information
  94. from.
  95.  
  96. 4.1.2 WHERE clause
  97.  
  98. This clause is used by several other statements, and is used to restrict
  99. the set of rows to be operated on.  A WHERE clause succeeds if the 
  100. search-condition evaluate to true.
  101.  
  102. 4.1.3 GROUP BY clause
  103.  
  104. 4.1.4 HAVING clause
  105.  
  106. 4.1.5 OUTPUT TO clause
  107.  
  108. 4.2
  109. subquery:    \[ query-spec \]
  110.  
  111. 4.3
  112. INSERT INTO table [ ( column-list ) ]
  113.     VALUES ( insert-item-list )
  114.  
  115. This statement is used to place information in the database.  The column
  116. list is optional.  If it is supplied, each value is placed in the corresponding
  117. column in the column-list.  Otherwise, the column-list default to all columns
  118. in the table.  Any missing values are treated as AMARKs.
  119.  
  120. 4.4
  121. DELETE FROM table [ WHERE search-condition ]
  122.  
  123. This statement is used to delete rows that satisfy the optional WHERE clause.
  124. If the WHERE clause is omitted, all rows in the table are deleted.
  125.  
  126. 4.5
  127. UPDATE table SET assignment-list [ WHERE search-condition ]
  128.  
  129. This statement is used to modify existing rows that satisfy the optional WHERE
  130. clause.  If the WHERE clause is omitted, all rows in the table are modified.
  131.  
  132. 5.0
  133. -------------------------
  134. |CURSOR BASED STATEMENTS|
  135. -------------------------
  136.  
  137. The following statements can be type interactively, but they are intended to 
  138. be used through an ARexx port.
  139.  
  140. 5.1
  141. DECLARE cursor CURSOR FOR query-expr
  142.  
  143. This statement will create and define a cursor.
  144.  
  145. 5.2
  146. OPEN cursor
  147.  
  148. This statement will execute a previously DECLAREd cursor's query-expr. 
  149.  
  150. 5.3
  151. CLOSE cursor
  152.  
  153. This statement will close and remove an existing cursor.  A cursor that has
  154. been CLOSEd must be re-DECLAREd and OPENed.
  155.  
  156. 5.4
  157.  
  158. FETCH { COLUMNS | FIRST | LAST | PREVIOUS | NEXT |
  159.     ABSOLUTE integer | RELATIVE integer } OF cursor-name
  160.  
  161. This statement will retrieve the specified row or column list, of the table 
  162. created by the cursor's query-expr.
  163.  
  164. 6.0
  165. -------------------
  166. |SEARCH CONDITIONS|
  167. -------------------
  168.  
  169. 6.1
  170. search-condition:    search-item | search-item { AND | OR } search-item
  171.  
  172. Each search-item evaluates to a true, false, AMARK, or IMARK.  This is a
  173. four value logic system.
  174.  
  175. AND| F  A  I  T        OR| F  A  I  T
  176. ---------------        --------------
  177.  F | F  F  F  F        F | F  A  F  T
  178.  A | F  A  I  A        A | A  A  A  T
  179.  I | F  I  I  I        I | F  A  I  T
  180.  T | F  A  I  T        T | T  T  T  T
  181.  
  182. 6.2
  183. search-item:        { search-test | { NOT | MAYBE_A | MAYBE_I | MAYBE } ( search-condition ) }
  184.  
  185. The logical operators NOT, MAYBE_A, MAYBE_I, MAYBE are defined below:
  186.  
  187.     P |NOT P   P | MAYBE_I P   P | MAYBE_A P   P | MAYBE P
  188.     --------   -------------   -------------   -----------
  189.     t | f       t | f       t | f       t | f
  190.     a | a      a | f           a | t       a | t
  191.     i | i      i | t        i | f       i | t
  192.       f | t      f | f        f | f       f | f
  193.  
  194. 6.3
  195. search-test:        comparison-test | like-test | set-test |
  196.             quantified-test | existence-test
  197.  
  198. 6.4
  199. comparison-test:    expr { = | <> | < | <= | > | >= } { expr | subquery }
  200.  
  201. 6.5
  202. like-test:        column-ref [ NOT ] LIKE string-pattern
  203.  
  204. A string pattern is a string literal.  The '%' is a wildcard to match
  205. 0 or more characters, and the '_' is a wildcard to match one character.
  206.  
  207. 6.6
  208. set-test:        expr [ NOT ] IN { \( literal-list \) | subquery }
  209.  
  210. 6.7
  211. quantified-test:    expr { = | <> | < | <= | > | >= } { ALL | ANY | SOME } subquery
  212.  
  213. 6.8
  214. existence-test:        [ NOT ] EXISTS subquery
  215.  
  216. This evaluates to true if table resulting from subquery has at least one row
  217. in it.
  218.  
  219. 7.0
  220. -------------
  221. |EXPRESSIONS|
  222. -------------
  223.  
  224. 7.1
  225. expr:        function | expr2
  226.  
  227. This definition means that you cannot nest functions, and functions must
  228. appear by themselves.  Thus, AVG(4*(7-5)) is a valid expr, but MIN(col1)*3 is 
  229. not.
  230.  
  231. 7.2
  232. expr2:        expr-item | expr-item { + | - | * | / } expr-item
  233.  
  234. 7.3
  235. expr-item:    value | column-ref | ( expr2 )
  236.  
  237. 7.4
  238. value:        literal | AMARK | IMARK | NULL
  239.  
  240. 7.5
  241. function:    { AVG | MAX | MIN | SUM | COUNT } ( expr2 )
  242.  
  243. Functions can only be applied to numeric (FLOAT, SMALLINT, INTEGER) columns.
  244.  
  245.     AVG        average of all values in an expression
  246.     MAX        maximum value in an expression
  247.     MIN        minimum value in an expression
  248.     SUM        total of values in an expression
  249.     COUNT        number of values (rows)
  250.  
  251. 8.0
  252. --------------------
  253. |STATEMENT ELEMENTS|
  254. --------------------
  255.  
  256. assignment:    column = expr
  257.  
  258. insert-item:    value
  259.  
  260. select-item:    expr
  261.  
  262. table-ref:    table [ alias ]
  263.  
  264. column-ref:    [ { table | alias } . ] column
  265.  
  266. table-def-item:    column-def
  267.  
  268. column-def:    column data-type
  269.  
  270.  
  271. 9.0
  272. ------
  273. |MISC|
  274. ------
  275.  
  276. 9.1
  277. DISPLAY TABLE table;
  278.  
  279. This statement will display information about specified table.  The table
  280. must have been OPENed or LOADed.
  281.  
  282. 9.2
  283. DISPLAY DATABASE;
  284.  
  285. This statement will display the names of all OPENed or LOADed tables.
  286.  
  287.