MySQL의 기초 (2) | 데이터베이스, 데이터 테이블

MySQL의 기초 (2) | 데이터베이스, 데이터 테이블


기본 구문

  1. 데이터베이스
#创建
CREATE DATABASE IF NOT EXISTS test_db_char
    DEFAULT CHARACTER SET utf8;
        
#显示创建详情
SHOW CREATE DATABASE test_db_char;
        
#修改
ALTER DATABASE test_db_char
    DEFAULT CHARACTER SET gbk;

#删除
DROP DATABASE IF EXISTS test_db_char;

#选择数据库
USE test_db;

데이터 시트

#创建
create table mygoods(
    g_id int AUTO_INCREMENT primary key, #创建表时指定主键
    g_name varchar(20),
    g_price double,
    g_count int
)engine=innodb default CHARSET=utf8;

create table myperson(
    p_id int AUTO_INCREMENT primary key,
    p_name varchar(20),
    g_id int,
    foreign key fk_pid(g_id) #创建表时指定外键
    references mygoods(g_id)
);

#显示创建详情
show create table myperson;

[중요] 변형

1) 필드를 추가

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
# 新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面,不指定则默认将新添加的字段设置为数据表的最后列。

alter table mygoods add column g_code varchar(20) after g_price;

2) 필드 유형을 수정

ALTER TABLE <表名> MODIFY <字段名> <数据类型>
# 其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。

alter table mygoods modify g_code int;

3) 삭제 필드

ALTER TABLE <表名> DROP <字段名>;
#其中,字段名指需要从表中删除的字段的名称。

alter table mygoods drop g_code;

4) 필드 이름을 수정

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
#其中,旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。

alter table mygoods change g_code gg_code varchar(30);

5) 테이블 이름을 수정

ALTER TABLE <旧表名> RENAME [TO] <新表名>;
#其中,TO 为可选参数,使用与否均不影响结果。
 
alter table mygoods rename my_goods;

6) 삭제 테이블

DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...] 

7) 기본 키 제한 조건을 추가

ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);

alter table mygoods add primary key (g_name);

8) 외래 키 제약 조건을 추가

ALTER TABLE <数据表名> ADD CONSTRAINT <索引名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

alter table myperson add constraint fk_myperson_1
foreign key(p_id) references my_goods(g_id)

9) 외래 키 제약 조건을 삭제

ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

alter table myperson drop foreign key myperson_ibfk_1

10) 고유 제한 조건을 추가

ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);

alter table mygoods add constraint unique_price UNIQUE(g_price)

11) 고유 제약 조건을 삭제

ALTER TABLE <表名> DROP INDEX <唯一约束名>;

alter table mygoods drop index unique_price

12) 비어 있지 않은 제약 (NOT NULL) 기본 제약 (기본값)

13)의 표에 도시 된 모든 제약

show create table table_name

참조 : http://c.biancheng.net/view/2413.html

추천

출처www.cnblogs.com/iwsx/p/12348934.html