- 论坛徽章:
- 0
|
二 数据库,表和数据类型
2.1 数据库
查看已有的数据库
>SHOW DATABASES;
创建数据库
>CREATE DATABASE db_name;
查看当前所使用的数据库
>SELECT DATABASE();
使用数据库
>USE db_name[;]
删除数据库
>DROP DATABASE db_name;
2.2 表
创建表
>CREATE [TEMPORARY] TABLE [IF NOT EXITSTS] table_name
(create_defination,...)
[table_options]
[[IGNORE|REPLACE] select_statment];
比如
>CREATE TABLE product (
no CHAR(10) NOT NULL PRIMARY KEY,
name char(50) not null,
unit char(10) not null,
price decimal(10.2) not null,
place char(100) null);
可以通过选择一个表的其中一部分或全部内容拷贝一个新表
>create table new_tb_name
select * from tb_name
[where conditions];
如果只想拷贝相同的结构而不拷贝数据,则加上条件逻辑假 where 1=0;
2.3 修改表
>ALTER [IGNORE] TABLE tb_name
action_list;
增加列
>ALTER TABLE tb_name
ADD [COLUMN] column_declaration [FIRST|AFTER column_name];
增加索引
>ALTER TABLE tb_name
ADD INDEX [index_name] (index_columns);
例如
>alter table product
add index indx_1 (name,place);
增加主键,如果已经存在主建,则出错
>ALTER TABLE tb_name
ADD PRIMARY KEY (index_columns);
例如
>alter table product
add primary key (name);
给表增加一个唯一值索引
>alter table product
add unique u_indx_1 (name);
修改表某列的默认值
>alter table product
alter place set default "beijing";
更改表中某类的名称和定义
>alter table product
CHANGE place place_1 char(200);
更改表定义
>alter table product
MODIFY place char(250) DEFAULT "" not null;
MODIFY 和 CHANGE 的区别在于: cbange除了可以更改列类型之外还可以更改列名,而且即使不希望更改列名也需要在定义中包含相应的列名.
删除列/索引
>alter table product
DROP COLUMN/INDEX col_1, col_2;
删除表主建
>alter table product
DROP PRIMARY KEY;
删除表
>DROP TABLE [IF EXISTS] tb_name [,tb_name2,tb_name3...];
2.4 数据类型 (略)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/10869/showart_107488.html |
|