zoukankan      html  css  js  c++  java
  • 数据库(一)

    1:创建数据库

    语法:CREATE DATABASE 数据库名;

    2:连接到数据库

    语法:USER 数据库名

    3:删除数据库

    语法:DROP DATABASE 数据库名;

    4:整数数据类型:

    从小到大依次为:TINYINT  SMALLINT MIDDLEINT INT BIGINT

    5:浮点数据类型

    包括:REAL FLOAT  DOUBLE DECIMAL NUMERIC

    6:字符串型

    包括CHAR NCHAR VARCHAR NVARCHAR TEXT NTEXT

    其中CHARY与VARCHAR的区别为:CHAR长度固定,如果没有填,用空格填充空间,占内存大。VARCHAR长度可变,根据内容来确定空间,但CHAR 的效率比VARCHAR效率高,因为VARCHAR要计算长度。

    7:二进制数据类型

    BINARY VARBINARY

    8:日期和时间数据类型

    DATETIME SMALLDATETIME 

    /*
    创建数据库和管理数据库
    */
    
    #创建一个数据库
    CREATE DATABASE j123;
    
    #删除一个数据库
    DROP DATABASE j123;
    
    #选中数据库
    USE j123;
    
    /*
    整型
    */
    CREATE TABLE t_int(
        id TINYINT,
        num SMALLINT,
        age INT,
        phoneNum BIGINT
    );
    
    SELECT * FROM t_int;
    
    /*
    浮点型
    float超过6位默认以科学计数的方法
    */
    
    CREATE TABLE t_fudian(
        num FLOAT,
        grade DOUBLE,
        money DECIMAL(4,2)
    );
    SELECT * FROM t_fudian;
    
    /*
    字符串类型
    区别:char的长度是固定的,用空格来补空间
          varchar长度可变,根据内容来确定长度。
          char的效率要比varchar要高
          在使用固定长度使用char
          
    */
    CREATE TABLE t_char(
        c_name CHAR(2),
        address VARCHAR(100)
    );
    SELECT * FROM t_char;
    
    /*
    二进制
    */
    CREATE TABLE t_blob(
        img BLOB
    );
    
    
    /*
    日期类型
    */
    CREATE TABLE t_data(
        years YEAR,
        dates DATE,
        datatimes DATETIME
    );
    SELECT * FROM t_data;
    INSERT INTO t_data(years,dates) VALUE(2016,2016-06-32);
    
    /*
    布尔类型
    true  - 1
    false - 0
    */
    CREATE TABLE t_boolean(
        boo BOOLEAN
    );
    SELECT * FROM t_boolean;
    INSERT INTO t_boolean VALUE(TRUE);
    INSERT INTO t_boolean VALUE(FALSE);
    
    /*
    创建表
    */
    #表名  t_开始  列名 表名第一个字母作为前缀
    #没列用逗号分割,最后一个列不需要逗号
    CREATE TABLE t_stu(
        s_id INT,
        s_name VARCHAR(40),
        s_phone VARCHAR(20),
        s_grade DOUBLE,
        s_teacher VARCHAR(20)
    );
    
    CREATE TABLE t_stu();
    SELECT * FROM t_stu;
    INSERT INTO t_stu VALUE(1,"fangyan","135558880",79.5,"Mr xu");
    
    /*
    删除表
    */
    
    DROP TABLE t_stu;
    
    /*
    复制表
    */
    CREATE TABLE t_stu1 SELECT * FROM t_stu;  #要拷贝结构和数据
    SELECT * FROM t_stu1;
    DROP TABLE t_stu1;
    
    CREATE TABLE t_stu2 SELECT * FROM t_stu WHERE 1=0;
    SELECT * FROM t_stu2;
    
    /*
    修改表
    */
    #修改表名 t_student
    ALTER TABLE t_stu2 RENAME t_student;
    SELECT * FROM t_student;
    
    #修改列的属性 change 第一个原来表的列名 第二个修改后的列名
    ALTER TABLE t_student CHANGE s_teacher s_teacher INT;
    ALTER TABLE t_student CHANGE s_phone s_ph INT;       #
    ALTER TABLE t_student MODIFY s_teacher VARCHAR(20);
    
    
    /*
    增加一列
    */
    
    ALTER TABLE t_student ADD s_sex CHAR(2);
    SELECT * FROM t_student;
    
    /*
    删除一列
    */
    ALTER TABLE t_student DROP s_sex;
    
    /*
    创建一个索引
    */
    CREATE INDEX name_index ON t_student(s_name);
    #unique创建了一个唯一索引,索引可以有多个,但是索引值必须唯一,可以为空
    CREATE UNIQUE INDEX id_index ON t_student(s_id);
    
    /*删除索引*/
    ALTER TABLE t_student DROP INDEX name_index;
    
    /*
    实体完整性
    */
    #主键约束 primary key 保证每行数据必须唯一,默认有一个非空
    CREATE TABLE t_car(
        c_id INT PRIMARY KEY,
        c_name VARCHAR(100),
        c_color VARCHAR(20)
    );
    
    DROP TABLE t_car;
    SELECT * FROM t_car;
    
    
    CREATE TABLE t_car2(
        c_id INT,
        c_name VARCHAR(100),
        c_color VARCHAR(20)
    );
    
    ALTER TABLE t_car2 ADD CONSTRAINT pk_id PRIMARY KEY(c_id);   #指定主键的名称
    ALTER TABLE t_car2 ADD PRIMARY KEY(c_id);  #不指定主键的名称直接操作列
    INSERT INTO t_car2 VALUES(1,'msld','red');
    
    SELECT * FROM t_car2;
    
    /*删除主键*/
    ALTER TABLE t_car2 DROP PRIMARY KEY;
    
    DROP TABLE t_car2;
    
    /*
    唯一约束
    保证当前列里面的数据必须唯一
    数据可以为null
    */
    CREATE TABLE t_car2(
        c_id INT,
        c_name VARCHAR(100) UNIQUE,
        c_color VARCHAR(20),
        PRIMARY KEY(c_id)    #也表示增加主键
    );
    SELECT * FROM t_car2;
    INSERT INTO t_car2(c_name,c_color)VALUES('msld',"red");
    INSERT INTO t_car2(c_name,c_color)VALUES('msld_v12',"blue");
    
    /*
    域完整性
    */
    #非空
    #默认
    CREATE TABLE t_teacher(
        t_id INT PRIMARY KEY,
        t_name VARCHAR(20) UNIQUE,
        t_sex CHAR(2) DEFAULT "男",
        t_phone VARCHAR(20) NOT NULL 
    );
    
    INSERT INTO t_teacher(t_id,t_name,t_sex,t_phone) VALUES(1,'MR xu','',NULL);
    INSERT INTO t_teacher(t_id,t_name,t_phone) VALUES(2,'MR xu1','1234567');
    
    SELECT * FROM t_teache
  • 相关阅读:
    jsp生成xml文件示例
    jsp分页显示
    Spring AOP学习笔记
    让leeon不再眷念马桶——书评《精通正则表达式》
    用JSP实现上传文件的两种方法
    oracle sql性能优化
    Iron Speed Designer 4.2.2学习
    再议《JavaScript代码优化一例》
    有关《大道至简》的几点讨论~
    有源则至清——我读《移山之道》
  • 原文地址:https://www.cnblogs.com/xieshunjin/p/5565122.html
Copyright © 2011-2022 走看看