zoukankan      html  css  js  c++  java
  • sql学习笔记

    SQL

    从命令行中连接mysql:

    1 [root@host]# mysql -u root -p
    2 Enter password:******

    数据类型:

    CHARACTER/CHAR:必须是事先设定好的长度。(要加单引号)

    INT/INTEGER:整数或者负数

    BLOB:大量文本数据。(要加单引号)

    DATE:记录日期,通常是将来的日期。(要加单引号)

    VARCHAR:储存文本数据,最大长度255个字符。(要加单引号)

    DATETIME/TIMESTAPE:记录日期和时间,通常是当前时间。(要加单引号)

    TIME:记录时间

    DEC/DECIMAL:提供数值空间,直到装满为止。(数字个数,小数点个数)

    基本命令:

    CREATE DATABASE:使用这条语句设置装有表的数据库

    USE DATABASE:进入数据库以设置需要的表

    CREATE TABLE:开始设置表

    DESC:查看表结构

    DROP TABLE:删除出错的表

    INSERT:插入数据

    1 INSERT INTO table_name (col_name1,col_name2,...)
    2             VALUES (value1,value2,...);

    NULL:未定义的值,不等于0,也不等于空值。没有在INSERT语句中赋值的列默认为NULL。可以把列改为不接受NULL值,在创建表时使用关键之NOT NULL。

    DEFAULT:可用于日后输入缺乏部分数据的记录时自动填入默认值。

    SELECT *:用于选择表中的所有列。

    WHERE:设定特定的搜索条件,只会返回符合条件的行

    SELECT:只选择需要看到的列

    1 SELECT col_name1,col_name2
    2 FROM table_name
    3 WHERE condition

    BETWEEN:选择一个范围内的值。

    LIKE 搭配 % 或 _:使用LIKE搭配通配符,可搜索部分文本字符串。

    1 WHERE location LIKE '%CA';      //找以CA结尾的地点
    2                     '_CA';      //一个未知字符的替身

    转义:语句中的单引号应该转义

    1 'Annika's diary'

    结合查询:AND / OR

    IS NULL:因为null!=null 因此用IS NULL来查找NULL。

    1 WHERE
    2 col_name IS NULL

    IN:关键字IN,加上括号围起的值的集合,只要列值匹配集合中的任何值,立即返回该行或者该列(NOT IN相反)

    1 WHERE
    2 col_name IN (value1,value2);

    NOT:not一定要跟在WHERE后,或者AND/OR后

    DELETE:删除一行数据

    1 DELETE FROM table_name     //单独这一行可以删除表中的每一行
    2 WHERE
    3 col_name = 'value';

    UPDATE:改变数据

    1 UPDATE table_name
    2 SET
    3 col_name = 'new_value'
    4 second_name = 'new_value'
    5  //如果不加WHERE,SET提到的每行都会被修改为新值
    6 WHERE colname = 'old_value';    
    SET:更新数值,而且可以做简单的运算

    SHOW CREATE TABLE + table_name:返回可以重建表但没有数据的CREATE TABLE语句,这样可以查看表的创建方式

    PRIMARY KEY:设定主键

    AUTO_INCREMENT:让SQL软件自动为该列填入数字

    ADD:添加

    ALTER:更新表

    1   > ALTER TABLE my_contacts
    2     -> ADD COLUMN contact_id INT NOT NULL AUTO_INCREMENT FIRST,
    3     -> ADD PRIMARY KEY (contact_id);

    ATOMIC DATA:数据原始性。列中的数据已经拆解成查询所需的最小单位,就是具有原子性

    • 规则1:具有原子性意味着在同一列中不会存放多个类型相同的数据

    • 规则2:具有原子性意味着不会用多个列来存储类型相同的数据

    FIRST NORMAL FORM(1NF):第一范式,每个数据行均需包含原子性数据值,而且每个数据行均具有唯一的识别方法

  • 相关阅读:
    Nginx是如何配置为 Web 服务器的【转载】
    BeanUtil工具类的使用
    数据库:XML,解析Dom4J
    jsp简单标签开发
    Java 反射 使用总结
    JAVA 对象序列化——Serializable
    使用Session防止表单重复提交
    EasyUi模糊匹配搜索框combobox
    Cookie工作原理
    COOKIE和SESSION有什么区别?
  • 原文地址:https://www.cnblogs.com/annika/p/9126980.html
Copyright © 2011-2022 走看看