Enumerating a Many-to-Many Relationship : ENUM « Data Type « SQL / MySQL






Enumerating a Many-to-Many Relationship

   
mysql>
mysql> CREATE TABLE states
    -> (
    ->  name            VARCHAR(30) NOT NULL,   # state name
    ->  abbrev          CHAR(2) NOT NULL,               # 2-char abbreviation
    ->  statehood       DATE,                                   # date of entry into the Union
    ->  pop                     BIGINT,                                 # population as of 4/1990
    ->  PRIMARY KEY (abbrev)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> CREATE TABLE book
    -> (
    ->  a_id    INT UNSIGNED NOT NULL,                                  # author ID
    ->  p_id    INT UNSIGNED NOT NULL AUTO_INCREMENT,   # book ID
    ->  title   VARCHAR(100) NOT NULL,                                  # title of book
    ->  state   VARCHAR(2) NOT NULL,                                    # state where purchased
    ->  price   INT UNSIGNED,                                                   # purchase price (dollars)
    ->  INDEX (a_id),
    ->  PRIMARY KEY (p_id)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql> SELECT book.title, states.name AS state
    -> FROM book, states
    -> WHERE book.state = states.abbrev
    -> ORDER BY state;
Empty set (0.00 sec)

mysql>
mysql> drop table book;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table states;
Query OK, 0 rows affected (0.00 sec)

   
    
    
  








Related examples in the same category

1.How to use enum
2.Use two ENUM data type in a table
3. Storage Comparisons of ENUM and SET
4.Insert String value as ENUM
5.Define and use ENUM data type
6.Define 'Male' and 'Female' as Enum
7.ENUM: Enumeration of up to 65,535 strings
8.With ENUM you can manage a list of up to 65,535 character strings.
9.Sorting ENUM Values
10.MySQL uses the internal numeric values for sorting for enum value
11.Sort ENUM values in lexical order
12.Consider changing the column type to ENUM, if you always sort a non-enumeration column in a specific non-lexic
13.Use ALTER TABLE to convert the name column to an ENUM that lists the colors in the desired sort order:
14.Add to mytbl an ENUM column e that has several members
15.Configure an ENUM column and a SET column
16.If you add an invalid value to ENUM columns, an empty string ("") is inserted instead
17.Perform queries on enumerated fields based on their indexes
18.Sets work in a similar way to enumerated fields
19.The ENUM and SET Column Types
20.Enumeration values aren't limited to being single letters or uppercase.
21.An ENUM column definition may list up to 65,535 members.
22.Insert value to enum type column
23.The SET datatype, like ENUM, is declared using a comma-separated list of quoted strings that define its valid
24.enum value index
25.Enum for month names
26.Enum type column
27.Order by enum value
28.Using foreign key as an enum type
29.Use operators to specify a range of values.