• sql基本


    SELECT:

      select * from table

      select 列名 from table

      select DISTINCT 列名 from table

    INSERT:

      insert into table values('','','',''...)

      insert into table(列,列..) values('','',..)

    UPDATE:

      update table set 列=新值 where 列=某值

    DELETE:

      delete from table where 列=某值

      delete * from table   (删除数据,不破坏表结构,属性,索引)

    TOP:

      select top 2 * from table

      select * from table limit 2

      select top 50 percent * from table (选取50%的记录)

    LIKE:

      select * from table where 列 NOT LIKE '%lon%';

    通配符:

      %:替代一个或多个字符

      _:一个字符

        [ char list]:字符列中任一单个字符

      [^char list] 或者[!charlist] :不在字符列中的任一单个字符

      select * from table where column like '[ALN]%';   //以A / L / N开头的

    IN:

      select * from table where column IN (value1,value2,...)

    Alias(别名):

      select p.Firstname from persons AS p where p.Lastname='John'

    JOIN:

      SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P;

      JOIN:同INNER JOIN,有匹配的行,再列出

      LEFT JOIN:返回左表所有行

      RIGHT JOIN:返回右表所有行

      FULL JOIN:返回左表,右表所有行

    UNION:

      SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2

      UNION用来合并两个或多个SELECT语句的结果集

      UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型,SELECT语句的列的顺序必须相同

    SELECT INTO:

      SELECT * INTO new_table FROM old_table

      select into从一个表中选取数据,然后将数据插入另一个表中,常用于创建表的备份,或对记录进行存档

    CREATE DATABASE:

      CREATE DATABASE my_db

    CREATE TABLE:

      CREATE TABLE Person(

      Id int,

      name varchar(25)

      )

    SQL 约束:

        NOT NULL

        UNIQUE

        PRIMARY KEY

        FOREIGN KEY

        CHECK

        DEFAULT

        在创建表或者ALTER TABLE时规定约束

      UNIQUE:

        创建UNIQUE约束:

        ALTER TABLE Person ADD UNIQUE(Id)

        ALTER TABLE Person ADD CONSTRAINT uc_PersonID UNIQUE (Id,Lastname)

        撤销UNIQUE约束:

        ALTER TABLE Person DROP INDEX uc_PersonID

        ALTER TABLE Person DROP CONSTRAINT uc_PersonID

      PRIMARY KEY:

        创建:

        ALTER TABLE Person ADD PRIMARY KEY(Id)

        ALTER TABLE Person ADD CONSTRAINT pk_PersonID PRIMARY KEY(Id,Lastname)

        撤销:

        ALTER TABLE Person DROP PRIMARY KEY

        ALTER TABLE Person DROP CONSTRAINT pk_PersonID

      FOREIGN KEY:

        用于预防破坏表之间连接的动作,也可以防止非法数据插入外键列,因为他必须是他指向的那个表中的值之一

        创建:

        CREATE TABLE Orders

        (

        Id_O int PRIMARY KEY,

        Id_P int FOREIGN KEY REFERENCES Person(Id_P)

        )

        ALTER TABLE Orders ADD FOREIGN KEY(Id_P) REFERENCES Person(Id_P)

        ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Person(Id_P)

        撤销:

        ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrder

        ALTER TABLE Orders DROP CONSTRAINT fk_PerOrder

      CHECK:

        对列中的值进行限制

        创建:

        ALTER TABLE Person ADD CHECK (Id_P>0)

        撤销:

        ALTER TABLE Person DROP CHECK chk_Person

      DEFAULT:

        若没有规定其他值,就将默认值添加到新纪录中

        创建:

        ALTER TABLE Person ALTER City SET DEFAULT '深圳'

        撤销:

        ALTER TABLE Person ALTER City DROP DEFAULT

    CREATE INDEX:

      在不读取整表的情况下,索引使数据库可以更快查找数据

      CREATE INDEX  index_name ON table_name(column_name,column_name)

      唯一索引意味着两个行不能拥有相同索引值

      CREATE UNIQUE INDEX index_name ON table_name(column_name)

    DROP:

      删除索引,表(表的结构,属性以及索引)和数据库

      ALTER TABLE table_name DROP INDEX index_name

      DROP TABLE table_name

      DROP DATABASE db_name

    TRUNCATE TABLE:

      仅删除表数据

      TRUNCATE TABLE table_name

    ALTER TABLE:

      添加列:

      ALTER TABLE table_name ADD column_name datatype

      删除列:

      ALTER TABLE table_name DROP  COLUMN column_name

      改变列的数据类型:

      ALTER TABLE table_name ALTER COLUMN column_name datatype

    AUTO_INCREMENT:

      默认AUTO_INCREMENT的开始值是1,若要以其他值起始:

      ALTER TABLE Person AUTO_INCREMENT=100

      

  • 相关阅读:
    出现org.apache.ibatis.binding.BindingException异常
    EasyExcel读写操作
    window下运行nginx出现nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
    vue Module build failed: Error: Missing binding E:vuevue-demo ode_modules ode-sa ssvendorwin64
    Axios谷粒学院学习
    springboot中数据库的连接
    多表删除,删除一个表的同时删除中间表
    今天写了一个SSM小项目,运行之后,前端页面的CSS、js样式显示不出来,具体操作如下:
    Java中Iterator(迭代器)实现原理
    写一些东西,记录一下成长的过程
  • 原文地址:https://www.cnblogs.com/Uhey/p/7603457.html
Copyright © 2020-2023  润新知