MySqlベース——テーブル操作
4038 ワード
1.テーブルの作成
テーブル操作を作成するsql文は、次のセクションに分けられます. mysql共通データ型 数値タイプ:TINYINT,SMALLINT,MEDIUMINT,INT/INTEGER,BIGINT,FLOAT,DOUBLE,DECIMAL(M,N)値範囲MとNの間
文字のタイプ(BLOBがあるのはすべてバイナリ形式のテキストのデータです):CHAR、VARCHAR、TINYBLOB、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT
日時タイプ:DATE(YYYY-MM-DD),TIME(HH-mm-ss),DATETIME(YYYY-MM-DD HH-mm-ss),YEAR(YYYYY),DATESTAMP(YYYYYMMDDHmmss)共通制約は である.
PRIMARY KEY(メインキー):
(PRIMARYは省略できますが、書き込みは省略できます)複合プライマリ・キーを設定できます.プライマリ・キーは一意でなければなりません.
NOT NULL(空でない):
フィールドにNULL以外の制約を設定するには、値を指定する必要があります.NULL文字列にも正常に挿入できますが、値を指定する必要があります.
AUTO_INCREMENT(自己成長)
成長初期値のデフォルトは1から、AUTO_INCREMENT=n初期値をnに設定
DEFAULT(デフォルト)
デフォルト値が設定されているフィールドに値が割り当てられていない場合は、自動的にデフォルト値が与えられます.
UNIQUE KEY(一意の制約、一意のフィールドは複数設定可能)
テーブル操作を作成するsql文は、次のセクションに分けられます.
CREATE TABLE ( [ ] , [ ] , [ ]);
文字のタイプ(BLOBがあるのはすべてバイナリ形式のテキストのデータです):CHAR、VARCHAR、TINYBLOB、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT
日時タイプ:DATE(YYYY-MM-DD),TIME(HH-mm-ss),DATETIME(YYYY-MM-DD HH-mm-ss),YEAR(YYYYY),DATESTAMP(YYYYYMMDDHmmss)
PRIMARY KEY(メインキー):
CREATE TABLE student(
id INT,
name VARCHAR(20),
PRIMARY KEY(id)
);
CREATE TABLE student(
id INT,
name VARCHAR(20),
PRIMARY KEY(id,name)
);
(PRIMARYは省略できますが、書き込みは省略できます)複合プライマリ・キーを設定できます.プライマリ・キーは一意でなければなりません.
NOT NULL(空でない):
CREATE TABLE IF NOT EXISTS student(
id INT,
name VARCHAR(20) NOT NULL,
PRIMARY KEY(id)
)
フィールドにNULL以外の制約を設定するには、値を指定する必要があります.NULL文字列にも正常に挿入できますが、値を指定する必要があります.
AUTO_INCREMENT(自己成長)
CREATE TABLE IF NOT EXISTS student(
id INT PRIMARY KEY AUTO_ICREMENT,
name VARCHAR(20) NOT NULL
)AUTO_INCRMENT=100
成長初期値のデフォルトは1から、AUTO_INCREMENT=n初期値をnに設定
DEFAULT(デフォルト)
CREATE TABLE IF NOT EXISTS student(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
sex CHAR(2) DEFAULT ' '
)AUTO_INCREMENT=100
デフォルト値が設定されているフィールドに値が割り当てられていない場合は、自動的にデフォルト値が与えられます.
UNIQUE KEY(一意の制約、一意のフィールドは複数設定可能)
CREATE TABLE IF NOT EXISTS student(
id INT PRIMARY KEY AUTO_INCREMARY,
name VARCHAR(20) NOT NULL,
sex CHAR(2) DEFAULT ' ',
stu_id INT UNIQUE
)AUTO_INCREMENT=100
,
-
CHARSET( ): UTF-8
ENGINE( ): INNODB
CREATE TABLE IF NOT EXISTS student(
id INT PRIMARY KEY AUTO_INCREMARY,
name VARCHAR(20) NOT NULL,
sex CHAR(2) DEFAULT ' ',
stu_id INT UNIQUE
)ENGINE=INNODB,CHARSET=UTF-8,AUTO_INCREMENT=100
2.
DROP TABLE ;
3.
ALTER TABLE ADD|DROP|MODIFY|CHANGE|ALTER|RENAME
- ADD( )
ALTER TABLE student ADD class_id INT;// class_id
ALTER TABLE student ADD class_id INT FIRST;// class_id
ALERT TABLE student ADD class_id INT AFTER sex;// sex class_id
- DROP( )
ALTER TABLE student DROP class_id;// class_id
- MODIFY CHANGE( )
MODIFY CHANGE , :
CHANGE MODIFY ( CHANGE, )
ALTER TABLE student CHANGE class_id c_id VARCHAR(20);// class_id c_id VARCHAR(20)
ALTER TABLE student CHANGE class_id class_id VARCHAR(20);// class_id VARCHAR(20)
ALTER TABLE student MODIFY class_id VARCHAR(20);// class_id VARCHAR(20)
- ALTER( )
ALTER TABLE student ALTER class_id SET DEFAULT 0;// 0
ALTER TABLE student ALTER class_id DROP DEFAULT;//
* MODIFY CHANGE ALTER ?
: class_id DEFAULT ,
ALTER TABLE student MODIFY class_id VARCHAR(20) DEFAULT 10;
ALTER
- RENAME( )
ALTER TABLE student RENAME TO student_test;// student student_test
-
ALTER TABLE student ENGINE=myisam;// myisam