天天看點

表操作--建表語句 表操作--建表語句

1、建立預設字元集庫

下面已預設格式的字元集庫

mysql> create database Ysolin;

Query OK, 1 row affected (0.00 sec)

mysql> show create database Ysolin\G

*************************** 1. row ***************************

       Database: Ysolin

Create Database: CREATE DATABASE `Ysolin` /*!40100 DEFAULT CHARACTER SET latin1 */

1 row in set (0.00 sec)

2、建表文法格式

create table<表名>(

<字段名1><類型1>,

<字段名n><類型n>

);

3、建表語句例子

mysql> use Ysolin

Database changed

mysql> create table student(

    -> id int(4) not null,

    -> name char(20) not null,

    -> age tinyint(2) not null default '0',

    -> dept varchar(16) default NULL

    -> );

Query OK, 0 rows affected (0.01 sec)

mysql> show create table student\G

       Table: student

Create Table: CREATE TABLE `student` (

  `id` int(4) NOT NULL,

  `name` char(20) NOT NULL,

  `age` tinyint(2) NOT NULL DEFAULT '0',

  `dept` varchar(16) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1

注釋:

CREATE TABLE `student` (                                                  CREATE TABLE 表示建立表的固定關鍵字,student為表名

  `id` int(4) NOT NULL,                                                     學号列,數字類型,長度為4,不能為空值

  `name` char(20) NOT NULL,                                      名字列,定長字元類型,長度20,不能為空

  `age` tinyint(2) NOT NULL DEFAULT '0',                 年齡列,很小的數字類型,長度為2,不能為空

  `dept` varchar(16) DEFAULT NULL                           系别列,變長字元類型,長度為16,預設為空

) ENGINE=MyISAM DEFAULT CHARSET=latin1        引擎和字元集,引擎預設MyISAM,字元集繼承庫的latin1

注意:MySQL501和MySQL5.5環境預設的引擎是不一樣的,如果想控制表的引擎,就要在建表語句裡面顯示的指定引擎建表

         MySQL5.1及以前,預設引擎為MyISAM

         MySQL5.5以後,預設引擎為InnoDB

4、檢視表結構

mysql> desc student;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

| id    | int(4)      | NO|     | NULL    ||

| name  | char(20)    | NO|     | NULL    ||

| age   | tinyint(2)  | NO|     | 0       ||

| dept  | varchar(16) | YES  || NULL    |       |

4 rows in set (0.00 sec)

5、MySQL表的字段類型

(1)數字類型

列類型

需要的存儲量

TINYINT

1位元組

SMALLINT

2位元組

MEDIUMINT

3位元組

INT

4位元組

INTEGER

BIGINT

8位元組

FLOAT(X)

4如果X<=24或8如果25<=X=53

FLOAT

DOUBLE

8個位元組

DOUBLE PRECISION

REAL

DECIMAL(M,D)

M位元組(D+2,如果M<D)

NUMERIC(M,D)

M位元組(D+2,如果D<M)

(2)日期和時間類型

MySQL資料類型

含義

date

3位元組,日期,格式:2014-09-18

time

3位元組,時間,格式:08:42:30

datetime

8位元組,日期時間,格式:2014-09-18 08:42:30

timestamp

4位元組,自動存儲記錄修改的時間

year

1位元組,年份

(3)字元串數量類型

char(n)

固定長度,最多255個字元

varchar(n)

可變長度,最多65535個字元

tinytext

可變長度,最多255個字元

text

mediumtext

可變長度,最多2的24次方-1個字元

longtext

可變長度,最多2的32次方-1個字元

ENUM(‘value1’, ‘value2’,…)

1或2個位元組,取決于枚舉值得數目(最大值65535)

SET(‘value1’, ‘value2’,…)

1,2,3,4或8位元組,取決于集合成員的數量(最多64個成員)

常有資料類型:

1.INT[M]型:正常大小整數類型

2.DOUBLE[(M,D)] [ZEROFILL]型:正常大小(雙精密)浮點數字類型

3.DATE日期類型:支援的範圍是1000-01-01到9999-12-31.MySQL以及YYYY-MM-DD格式來顯示DATE值,但是運作你使用字元串或數字把值賦給DATE列

4.CHAR(M)型:定長字元串類型,當存儲時,總是使用空格填滿右邊指定的長度

5.BLOB TEXT類型:最大長度為655535(2^16-1)個字元

6.VARCHAR型:變長字元串類型

6、檢視建表結構

mysql> show columns from student;

7、檢視已建表的語句

mysql> show create table student\G

本文轉自 運維小當家 51CTO部落格,原文連結:http://blog.51cto.com/solin/1875482,如需轉載請自行聯系原作者

繼續閱讀