数据库表创建与管理

SQL 对大小写不敏感:SELECT 与 select 是相同的。

1.创建数据库:

CREATE {DATABASE|SCHEMA}[IF NOT EXISTS] <数据库文件名>
比如创建名为test_1的数据库:

create database if not exists test_1;
#为避免因重复创建时系统显示的错误信息,使用IF NOT EXISTS选项创建数据库

2.查看已有的数据库

show databases;

3.打开数据库

use test_1;

4.修改数据库

修改数据库主要是修改数据库参数,使用ALTER DATABASE语句来实现修改数据库。其语法格式如下:
ALTER {DATABASE|SCHEMA} [数据库文件名][选项];

#修改数据库test_1的默认字符集和校对规则
alter database test_1
    default character set=gbk  #字符集
    default collate=gbk_chinese_ci;   #校对规则名

5.删除数据库

drop database if exists test_1;

6.建立“学生”表Student。学号是主码,姓名取值唯一

CREATE TABLE Student          
       (Sno   CHAR(9) PRIMARY KEY,  /* 列级完整性约束条件,Sno是主码*/                  
        Sname CHAR(20) UNIQUE,     /* Sname取唯一值*/
        Ssex    CHAR(2),
        Sage   SMALLINT,
        Sdept  CHAR(20)
      );

表

7.建立一个“课程”表Course

CREATE TABLE  Course
           (Cno      CHAR(4) PRIMARY KEY,
            Cname    CHAR(40),            
            Cpno     CHAR(4),               	                      
            Ccredit  SMALLINT,
            FOREIGN KEY (Cpno) REFERENCES  Course(Cno) ); 

Cpno是外码,被参照表是Course,被参照列是Cno,两者为同一表

8.建立一个学生选课表SC

CREATE TABLE  SC
          (Sno  CHAR(9), 
           Cno  CHAR(4),  
           Grade  SMALLINT,
           PRIMARY KEY (Sno,Cno),  
                          /* 主码由两个属性构成,必须作为表级完整性进行定义*/
           FOREIGN KEY (Sno) REFERENCES Student(Sno),
                         /* 表级完整性约束条件,Sno是外码,被参照表是Student */
           FOREIGN KEY (Cno)REFERENCES Course(Cno)
                          /* 表级完整性约束条件, Cno是外码,被参照表是Course*/
        ); 

9.数据类型

数据类型

10.修改基本表

ALTER TABLE <表名>
[ ADD[COLUMN] <新列名> <数据类型> [ 完整性约束 ] ]
[ ADD <表级完整性约束>]
ADD子句用于增加新列、新的列级完整性约束条件和新的表级完整性约束条件

[ DROP [ COLUMN ] <列名> ]
DROP COLUMN子句用于删除表中的列
有外键约束的列不能删除

[ DROP CONSTRAINT<完整性约束名> ]
DROP CONSTRAINT子句用于删除指定的完整性约束条件

[modify COLUMN <列名><数据类型> ] ;
modify COLUMN子句用于修改原有的列定义,包括修改列名和数据类型

举例:
1)向Student表增加“入学时间”列,其数据类型为日期型

ALTER TABLE Student ADD S_entrance DATE;
#无论基本表中原来是否已有数据,新增加的列一律为空值

2)将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。

ALTER TABLE Student modify COLUMN Sage INT;

3)增加课程名称必须取唯一值的约束条件。

ALTER TABLE Course ADD UNIQUE(Cname); 

4)删除Student表

#有外键约束的表不能直接删除,需要设置第一行代码
set foreign_key_checks=0;
DROP TABLE  Student;

11.若表上建有视图,mysql可直接删除,但视图还在,无数据。

CREATE VIEW IS_Student      
    AS 
	    SELECT Sno,Sname,Sage
	    FROM  Student
    	    WHERE Sdept='IS';

DROP TABLE Student;	
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值