SQL,数据库建表

1.如何创建一个数据库,使用SQL语句?
create database 语句用于创建数据库;
语法:create database database_name;
实例:create database my_db;(创建名为“my_db”的数据库)

2.使用SQL语句,如何创建一个表?
create table语句用于创建数据库中的表;
语法:create table 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);数据类型(data_type)规定了列可容纳何种数据类型。下面为SQL中最常用的数据类型:
integer(size),int(size),smallint(size),tinyint(size)--仅容纳整数。在括号内规定数字的最大位数。
decimal(size,d),numeric(size,d)--容纳带有小数的数字。“size”规定数字的最大位数。“d”规定小数点右侧的最大位数。
char(size)--容纳固定长度的字符串(可容纳字母、数字以及特殊的字符)。在括号中规定字符串的最大长度。
date(yyyymmdd)--容纳日期。
    实例:create table persons (id_p int,lastName varchar(255),firstName varchar(255),address varchar(255),city varchar(255))

drop table if exists t_menu_relation;
/*==============================================================*/
/* Table: t_menu_relation                                          */
/*==============================================================*/
create table t_menu_relation
(
ID int(10) not null AUTO_INCREMENT,
menu_id int(10) comment '菜单表主键',
content varchar(100) comment '菜单链接说明',
background_link varchar(100) comment '地址链接',
status char(1) default '1' comment '1 有效 0 无效',
create_id int(10) comment '创建人员',
create_date     datetime comment '创建日期',
modify_date datetime comment '修改日期',
modify_id int(10) comment '修改人员',
primary key (ID)
);
alter table t_menu_relation comment '菜单链接明细表';
alert table t_menu_relation add constraint FK_ref_menu_id_menu_realtion foreign key (menu_id) references t_menu (id);


也可以在建表中加入:
    实例:
drop table if exists t_menu_relation;
/*==============================================================*/
/* Table: t_menu_relation                                          */
/*==============================================================*/
create table t_menu_relation
(
ID int(10) not null AUTO_INCREMENT,
menu_id int(10) comment '菜单表主键',
content varchar(100) comment '菜单链接说明',
background_link varchar(100) comment '地址链接',
status char(1) default '1' comment '1 有效 0 无效',
create_id int(10) comment '创建人员',
create_date     datetime comment '创建日期',
modify_date datetime comment '修改日期',
modify_id int(10) comment '修改人员',
primary key (ID),
FOREIGN KEY (menu_id) references t_menu(id)
);
alter table t_menu_relation comment '菜单链接明细表';


3.使用SQL语句,如何对已有的表添加、修改或删除列?
    alter table语句用于在已有的表中添加、修改或删除列。
    在已有表中添加列语法:alter table table_name add column_name datatype;
    在已有表中删除表中的列:alter table table_name drop column column_name;(注释:某些数据库系统不允许这种在数据库表中删除列的方式:drop column column_name)
    改变表中列的数据类型:alter table table_name alter column colmn_name datatype;
    实例:alter table persons add birthday date;(在表persons中添加一个名为birthday的新列)
alter table persons alter column birthday year;(改变persons表中birthday列的数据类型)
alter table person drop column birthday;(删除person表中的birthday列)


4.使用SQL语句,如何撤销索引、表以及数据库?
    通过使用DROP语句,可以轻松地删除索引、表和数据库。
    删除索引:用于MS sql server的语法:drop index table_name.index_name;
    用于IBM DB2 和 Oracle语法:drop index incex_name;
    用于MySQL的语法: alter table table_name drop index index_name;
    删除table语句:drop table语句用于删除表(表的结构、属性以及索引也会被删除)
语法:DROP TABLE 表名称;
    删除DATABASE:DROP DATABASE 语句用于删除数据库,语法:DROP DATABASE 数据库名称;
    如果我们仅仅需要除去表内的数据,但并不删除表本身,那么:我们可以使用SQL TRUNCATE TABLE 语句(仅仅删除表格中的数据),语法:truncate table 表名称;
    实例:
drop table if exists t_articlel;//数据库中如果存在表t_article则删除

5.使用SQL语句,如何创建数据库用户,并为用户赋权限?
    ORACLE:
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。


  为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库(这步一定要创建好,因为这里没有做好,会在创建表空间时出错---我就在这里花了几个小时,晕)。


  创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。


  下面是创建数据库用户的具体过程:


  1.假如现在已经建好名为'test'的数据库,此时在d:\oracle\oradata\目录下已经存在test目录(注意:我的Oracle11g安装在d:\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\oradata\目录下)。


  2.在创建用户之前,先要创建表空间:


  其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;


  如:


  SQL> create tablespace test_tablespace datafile 'd:\oracle\oradata\test\test.dbf' size 100M;


  其中'test_tablespace'是你自定义的表空间名称,可以任意取名;'d:\oracle\oradata\test\test.dbf'是数据文件的存放位置,'test.dbf'文件名也是任意取;'size 100M'是指定该数据文件的大小,也就是表空间的大小。


  3.现在建好了名为'test_tablespace'的表空间,下面就可以创建用户了:


  其格式为:格式: create user 用户


名 identified by 密码 default tablespace 表空间表;


  如:


  SQL> create user testone identified by testone default tablespace test_tablespace;


  默认表空间'default tablespace'使用上面创建的表空间。


  4.接着授权给新建的用户:


  SQL> grant connect,resource to testone; --表示把 connect,resource权限授予testone用户


  SQL> grant dba to testone; --表示把 dba权限授予给testone用户


  授权成功。


  ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章