MySQL基础(2) | 数据库、数据表


基本语法

  1. 数据库
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#创建
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;

数据表

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#创建
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. 添加字段
1
2
3
4
ALTER TABLE <> ADD <> <> [] [FIRST|AFTER ]
# 新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面,不指定则默认将新添加的字段设置为数据表的最后列。

alter table mygoods add column g_code varchar(20) after g_price;
  1. 修改字段类型
1
2
3
4
ALTER TABLE <> MODIFY <> <>
# 其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。

alter table mygoods modify g_code int;
  1. 删除字段
1
2
3
4
ALTER TABLE <> DROP <>
#其中,字段名指需要从表中删除的字段的名称。

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

alter table mygoods change g_code gg_code varchar(30);
  1. 修改表名
1
2
3
4
ALTER TABLE <> RENAME [TO] <>
#其中,TO 为可选参数,使用与否均不影响结果。
 
alter table mygoods rename my_goods;
  1. 删除表
1
DROP TABLE [IF EXISTS] 1 [ ,2, 3 ...]	
  1. 添加主键约束
1
2
3
ALTER TABLE <> ADD PRIMARY KEY(<>);

alter table mygoods add primary key (g_name);
  1. 添加外键约束
1
2
3
4
5
ALTER TABLE <> ADD CONSTRAINT <>
FOREIGN KEY(<>) REFERENCES <> (<>);

alter table myperson add constraint fk_myperson_1
foreign key(p_id) references my_goods(g_id)
  1. 删除外键约束
1
2
3
ALTER TABLE <> DROP FOREIGN KEY <>;

alter table myperson drop foreign key myperson_ibfk_1
  1. 添加唯一约束
1
2
3
ALTER TABLE <> ADD CONSTRAINT <> UNIQUE(<>);

alter table mygoods add constraint unique_price UNIQUE(g_price)
  1. 删除唯一约束
1
2
3
ALTER TABLE <> DROP INDEX <>;

alter table mygoods drop index unique_price
  1. 非空约束(not null),默认约束(default)

  2. 显示表中所有约束

1
show create table table_name

参考:http://c.biancheng.net/view/2413.html