美文网首页java学习
NO.40 数据库原理和SQL(DDL、DML)

NO.40 数据库原理和SQL(DDL、DML)

作者: smallnumber | 来源:发表于2017-08-10 22:43 被阅读0次

    保存数据的方式,经历了手工管理、文件管理等阶段,直至数据库管理阶段。

    数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。

    数据库管理系统(Database Management System,简称DBMS):管理数据库的软件。

    主流数据库产品:

    Oracle(Oracle)

    DB2(IBM)

    SQL Server(MS)

    MySQL(Oracle)


    SQL语句不区分大小写

    SELECT SYSDATE FROM dual 获取当前系统时间

    SQL语句分为:

    DDL、DML、TCL、DQL、DCL

    DDL:数据定义语言

    DDL用于维护数据库对象使用

    数据库对象:表,视图,索引,序列。

    1)创建表

    CREATE TABLE employee_xxx(

    id NUMBER(4),

    name VARCHAR2(20),

    gender CHAR(1),

    birth DATE,

    salary NUMBER(6,2),

    job VARCHAR2(30),

    deptno NUMBER(2)

    )

    2)查看表结构

    DESC employee_xxx

    在数据库中,所有字段的默认值都是NULL,可以通过DEFAULT关键字指定一个默认值。

    对于字符串而言,数据库中字面量是使用单引号括起来的,这一点需要与java区分记忆。并且,虽然SQL语句本身不区分大小写,但是字符串的值是区分大小写的。

    CREATE TABLE employee(

    id NUMBER(4),

    name VARCHAR2(20),

    gender CHAR(1) DEFAULT 'M',

    birth DATE,

    salary NUMBER(6,2) DEFAULT 3000,

    job VARCHAR2(30),

    deptno NUMBER(2)

    )

    DESC employee

    NOT NULL约束:当一个字段被NOT NULL修饰后,该字段不允许为空。

    CREATE TABLE employee(

    id NUMBER(4),

    name VARCHAR2(20) NOT NULL,

    gender CHAR(1) DEFAULT 'M',

    birth DATE,

    salary NUMBER(6,2) DEFAULT 3000,

    job VARCHAR2(30),

    deptno NUMBER(2)

    )

    DESC employee

    3)删除表:

    DROP TABLE employee_xxx

    4)修改表名:

    RENAME old_name TO new_name

    如:

    RENAME employee TO myemp

    5)修改表结构:

    添加新的字段

    ALTER TABLE myemp ADD (hiredate DATE)

    DESC myemp

    删除现有字段

    ALTER TABLE myemp DROP(hiredate)

    修改现有字段

    可以修改字段的类型,长度,默认值,非空约束但是应当在表中没有数据的时候进行,否则尽量

    不要修改类型,长度尽量只增不减。否则可能会修改失败。

    将JOB字段的长度变为40:

    ALTER TABLE myemp MODIFY(job VARCHAR2(40))

    另外,TRUNCATE可以删除表数据,保留表结构。


    DML语句:数据操作语言

    DML是用来增,删,改表中数据。DML是伴随事务(TCL)控制的。

    1)INSERT语句

    INSERT语句用于向表中插入新数据

    INSERT INTO myemp (id,name,job,deptno) VALUES (1,'jack','CLERK',10)

    SELECT * FROM myemp

    不指定字段则是全列插入,给定的值的类型与顺序要与表中字段一致。

    INSERT INTO myemp VALUES (2,'rose','F',SYSDATE,5000,'CLERK',10)

    插入日期类型数据时,可以使用数据库内置函数:

    TO_DATE(char1,char2)

    char1:一个具体日期的字符串

    char2:指定的日期格式

    INSERT INTO myemp (id,name,birth) VALUES (3,'bob',TO_DATE('1992-08-05','YYYY-MM-DD'))

    SELECT * FROM myemp

    2)UPDATE语句:修改表中数据

    将id为2的员工性别改为"M",部门改为"20"

    UPDATE myemp SET gender='M',deptno=20 WHERE id=2

    3)DELETE语句:删除数据

    DELETE FROM myemp WHERE salary<5000

    UPDATE语句与DELETE语句都需要使用WHERE添加过滤条件,否则是对表中所有数据的操作。

    SELECT * FROM myemp

    相关文章

      网友评论

        本文标题:NO.40 数据库原理和SQL(DDL、DML)

        本文链接:https://www.haomeiwen.com/subject/brdcrxtx.html