zoukankan      html  css  js  c++  java
  • 基本的SQL语句

    一:SQL:

        1、定义:结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言

      2、用途:用于存取、查询、更新、管理关系数据库系统

      3、分类:

        (1)DDL语句:数据库定义语言,数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

        (2)DML语句:数据库操纵语言,插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

        (3)DCL语句:数据库控制语言,如控制用户的访问权限GRANT、REVOKE

      4、常用的关系数据库:mysql 、SQL Server、Oracle、Sybase、DB2等

        常用的非关系数据库:NoSql、Cloudant、MongoDb、redis、HBase 

    二:SQL语句

    1、操作库:

    1)增:create database db1 charset utf8;
    
    (2)删:drop database db1;
    
    (3)改:alter database db1 charset latin1;
    
    (4)查:show databases;

    2、操作表

    1)进入库中:use db1;

    2)增:create table t1(id int,name char);

    3)删:drop table t1;

    (4)查:show tables;

    (5)查看表结构:desc t1;    //可以查看表的结构定义

                  show create table t1; //除了能看到表定义外,还可以看到engine(存储引擎)和charset(字符集)等信息

    3、操作字段:

    1)增加字段:alter table t1 add column age int ;
    
    (2)删除字段:alter table t1 drop column  age;
    
    (3)修改字段:alter table t1 modify name char(3); //修改字段属性
    
                 alter table t1 change name name1 char(2);//修改字段名称和属性

    4、操作表中的记录

    (1)增:insert into t1 values(1,"zhang"),(2,"wang"),(3,"zhao");
    
    (2)删:delete from t1 where id=1;
    
    (3)改:update t1 set name="liu" where id=2;
    
    (4)查:select * from t1;
    
    (5)清空表:delete *from t1;       #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始
              truncate table t1;     #数据量大,删除速度比上一条快,且直接从零开始

     三:MySQL表的完整性约束

    NOT NULL        //非空约束,指定某列不能为空;
    
    UNIQUE          //唯一约束,指定某列或者几列组合不能重复
    
    PRIMARY KEY     //主键,指该列的值可以唯一标识该记录
    
    FOREIGN KEY     //外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性

    1、NOT NULL:

    create table t1(id int not null);        //规定id字段不能为空
    
    create table t1(id int not null default 1);    //规定id字段不能为空且默认值为1
    
    
    default:当某一列有许多重复值出现时,不需要一次次添加,只需设定默认值即可

    添加默认值:alter table t1 alter id set default 1;

    删除默认值:alter table t1 alter id drop default;

    2、UNIQUE:

    方法1:
    
    create table t1(id int unique);
    
    方法2:
    
    create table t1(id int,unique(id));
    
    
    方法2还可用于多个字段联合唯一:
    
    create table t1(id int,name char(10),age int,uniq(id,name));

    添加唯一约束alter table t1 add unique(id);

    3、PRIMARY KEY

    表示主键的方法如下:
    
    方法一:
    
    create table t1(id int not null unique);
    
    方法二:
    
    create table t1(id int primary key);
    
    方法三:
    
    create table t1(id int,primary key(id));
    
    方法三还可以多字段联合主键:
    
    create table t1(id int ,name char(10),age int ,primary key(id,name));

    删除主键alter table t1 drop primary key;

    添加主键alter table t1 add primary key(id);

    扩展:

    AUTO_INCREMENT      //表示自增
    create table t1(id int primary key auto_increment,name char(10),sex enum('male','female') default 'male');   //id 为主键自增,sex单选,默认"male"

    修改自增长值:alter table t1
    auto_increment=10;

    删除自增长alter table t1 modify id int primary key; //modify 不能删除主键,删除主键用drop

    4、FOREIKEY

    create table t1(
        id_1 int primary key,
        name char(10)
        )engine=innodb; //父表被关联的字段必须唯一,表类型必须是innodb存储引擎
    
    create table t2(
        id_2 int,name char(10),
        id_1 int ,
        foreign key(id_1)
        references t1(id_1) 
        on delete cascade   //级联删除
        on update cascade  //级联更新
        )engine=innodb;
    
    注意:外键关联父表的主键 同步更新、同步删除

    修改表的存储引擎:alter table t1 engine=INNODB; //支持外键,行锁,查表总行数时,全表扫描
             alter table t1 engine=MYISAM; //不支持外键,表锁,查表总行数时,不需要全表扫描

    查看表的存储引擎:show create table t1;


  • 相关阅读:
    (网页)中的简单的遮罩层
    (后端)shiro:Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
    (网页)jQuery的时间datetime控件在AngularJs中使用实例
    Maven Myeclipse 搭建项目
    MyBatis 环境搭建 (一)
    java 常用方法
    XML 基础
    JS BOM
    js 事件
    js 的使用原则
  • 原文地址:https://www.cnblogs.com/chunqiu666/p/12720731.html
Copyright © 2011-2022 走看看