zoukankan      html  css  js  c++  java
  • MySQL数据库基本知识

    1.创建数据库

      CREATE DATABASE database_name

    2.删除数据库

      DROP DATABASE database_name

    3.选择数据库

      USE database_name

    4.数据类型

    (1)数值类型

     (2)日期和时间类型

     (3)字符串类型

    5.创建数据表

      CREATE TABLE table_name (column_name column_type)

    6.删除数据表

      DROP TABLE table_name

    7.更新数据表信息

      (1)添加表字段

        ALTER TABLE table_name ADD new_column DATATYPE

        使用FIRST关键字可以将新增列的顺序调整至数据表的第一列

        ALTER TABLE table_name ADD new_column DATATYPE FIRST

        使用AFTER关键字可以将新增列调整至数据表的指定列之后

        ALTER TABLE table_name ADD new_column DATATYPE AFTER old_column

      (2)删除表字段

        ALTER TABLE table_name DROP old_column

      (3)修改表字段类型

        ALTER TABLE table_name  MODIFY column_name NEW_DATATYPE

      (4)修改字段名称

        ALTER TABLE table_name CHANGE old_column_name new_column_name DATATYPE

    8.插入数据

      INSERT INTO table_name  (column1, column2,column3...columnN)

              VALUES

                   (value1, value2, value3...valueN);

    9.查询数据

      SELECT column1, column2, column3...columnN FROM table_name

      (1)使用*可以替代字段名,SELECT语句会返回表的所有字段

        例:SELECT * FROM table_name

      (2)可以使用WHERE语句来包含任何条件

        例:SELECT * FROM table_name WHERE column=1

      (3)可以使用LIMIT属性设定返回的记录数

        例:返回查询结果的前三条记录

        SELECT * FROM table_name LIMIT 3

        例:返回查询结果的第三条记录

        SELECT * FROM table_name LIMIT 2,1      (2指的是第几条数据(从0开始计数),1指的是从2开始返回几条数据)

      (4)可以使用OFFSET指定开始查询的偏移量,默认情况下偏移量为0

        例:SELECT * FROM table_name LIMIT 2 OFFSET 3 等于 SELECT * FROM table_name LIMIT 2,3

    10.更新数据

      UPDATE table_name SET column1=value1, column2=value2

      WHERE condition

    11.删除数据

      DELECE FROM table_name

      WHERE condition

    12.LIKE子句

      LIKE子句中使用%号来表示任意字符,其的效果类似正则表达式中的*,如果没有使用%,那么LIKE的效果等价于=

      SELECT * FROM table_name

      WHERE column1 LIKE %condtion%

     13.UNION

      SELECT column1,  column2, column3...columnN FROM table_a

      [WHERE condition]

      UNION [ALL | DISTINCT]

      SELECT column1,  column2, column3...columnN FROM table_b

      [WHERE condition]

      UNION的作用的连接两个查询结果集

      DISTINCT的作用是对两个结果集进行去重处理,默认情况下已经是DISTINCT的结果了

      ALL的作用的不对两个结果集进行去重处理

    14.ORDER BY

      SELECT * FROM table_name

      ORDER BY column1 [ASC | DESC]

      ASC:将结果集按column1升序排列,默认情况下使用升序排序

      DESC:将结果集按column1降序排列

    15.GROUP BY

      把数据按照指定列(可以是一列或者多列)进行分组,通常和计算函数COUNT()还有SUM(),AVG()等求值函数一起使用

      例:根据column1将数据进行分组,并且统计每种数据的记录数

        SELECT column1, COUNT(*) FROM table_name

        GROUP BY column1

      WITH ROLLUP可以将GROUP BY的统计结果集基础上再做相同的统计(SUM,AVG....)

      例:假设有下面这样一张表 name=姓名,website=网站,access_count=访问记录

    name website access_count
    张三 百度 3
    李四 新浪 5
    王五 淘宝 4
    张三 新浪 2
    李四 百度 1
    王五 搜狐 4
    赵六 搜狐 5

      执行如下代码:

        SELECT name, SUM(access_count) FROM table_name

        GROUP BY name WITH ROLLUP

      得到:

    name SUM(access_count)
    张三 5
    李四 6
    王五 8
    赵六 5
    NULL 24

    16.INNER JOIN

      INNER JOIN被称为内连接或者等值连接,获取两个表中字段匹配关系的记录

      

       例:SELECT table1.column1, table1.column1, table2.column3 FROM table1

         INNER JOIN table2

         ON condition

    17.LEFT JOIN

      LEFT JOIN被称为左连接,获取左边所有记录,右表没有的记录补为NULL

      

       例:SELECT table1.column1, table1.column2, table2.column3 FROM table1

         LEFT JOIN table2

         ON condition

    18.RIGHT JOIN

      RIGHT JOIN被称为右连接,获取右边所有数据,左表没有的记录补为NULL

      

       例:SELECT table1.column1, table2.column2, table2.column3 FROM table1

         RIGHT JOIN table2

         ON condition

  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/etoumao/p/14149838.html
Copyright © 2011-2022 走看看