SQL常用命令

数据库相关

  1. 启动服务 sudo service mysql start
  2. 连接数据库 mysql -u root
  3. 查看数据库 show databases
  4. 创建数据库 CREATE DATABASE
  5. 跳转数据库 use
  6. 查看表 show tables
  7. 创建表 CREATE TABLE { type}
  8. 退出 'exit'
  9. 数据类型

    详细可参考:mysql数据类型

    SQL常用命令_第1张图片
    数据类型

    约束

    在创建新表时,可以对新建列添加约束,用以更好的说明表.

    主键(PRIMARY KEY)

    不能为空且整表唯一

    CREATE TABLE people(
     id int(10) PRIMARY KEY,
    name VARCHAR(10), 
    )
    

    可以设置多列总体为主键

    create table student 
    ( 
       name varchar(19), 
       id NUMBER, 
       value VARCHAR(10), 
    PRIMARY KEY (name,id) 
    ) 
    
    

    默认值 (DEFAULT)

    在插入数据时,如果该列未指定值,则默认值生效

    CREATE TABLE people(
     id int(10) PRIMARY KEY ,
    name VARCHAR(10) DEFAULT 233, 
    )
    
    INSERT INTO people(id)VALUES(1); // id 1 name 233
    

    唯一约束(UNIQUE)

    该列的所有值唯一

    CREATE TABLE people(
     id int(10) PRIMARY KEY ,
    name VARCHAR(10) UNIQUE, 
    
    INSERT INTO people(id,name)VALUES(1,'jack'); //sucess
    INSERT INTO people(id,name)VALUES(2,'jack'); //faild
    )
    

    外键约束 (FOREIGN KEY)

    设定某列的值为另一个表的某行

    CREATE TABLE Orders
    (
    Id_O int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    PRIMARY KEY (Id_O),
    FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) //id_P的值为Persons表中Id_P对应的那一行
    )
    

    非空约束

    设定该列必须有值,不然执行语句出错

    CREATE TABLE people(
     id int(10) PRIMARY KEY ,
    name VARCHAR(10) UNIQUE NOT NULL, 
    
    INSERT INTO people(id,name)VALUES(1,'jack'); //sucess
    INSERT INTO people(id)VALUES(2); //faild
    

    数据相关

    VAHR VARCHAR,TEXT,DATE,TIME,ENUM 值需要用单引号括起来

    插入数据

    INSERT INTO

    (,,) VALUES(,,)

    选择数据

    SELECT  ,  FROM  
    WHERE

    条件选择拼接(OR AND)

    SELECT  ,  FROM  
    WHERE AND/OR

    范围选择 (IN & NOT IN)

    选择某个条件为某列值为选定值

    SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3'); //选择 in_dpt 的值在 'dpt1'和'dpt3'等
    

    通配符(LIKE)

    在LIKE后添加通配符组成查询条件
    _表示一个未指定字符
    %表示一个或多个未指定字符

    SELECT name,age,phone FROM employee WHERE phone LIKE '1101__';//1101开头的六位数字
    

    排序(ORDER BY)

    可以指定查询结果按照某列的值增序(ASC)降序(DESC)

    SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;
    

    你可能感兴趣的:(SQL常用命令)