美文网首页
SQL常用命令

SQL常用命令

作者: 渐行渐远ty | 来源:发表于2017-11-06 12:17 被阅读0次

    数据库相关

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

    数据类型

    详细可参考:mysql数据类型

    数据类型

    约束

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

    主键(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 <table name>(<culomn name1>,<culomn name2>,<culomn name4>) VALUES(<value1>,<value2>,<value4>)

    选择数据

    SELECT  <column name>,<column name>  FROM  <table name> WHERE <condition>
    

    条件选择拼接(OR AND)

    SELECT  <column name>,<column name>  FROM  <table name> WHERE <condition> AND/OR <condition>
    

    范围选择 (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常用命令

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