zoukankan      html  css  js  c++  java
  • MySQL学习笔记(一):SQL基础

    包括三个类别

    (1):DDL(Data Definition Language) 数据定义语言,主要用于这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用语句包括:create,drop,alter等。

    (2):DML(Data Manipulation Language) 数据操纵语言,主要用于添加,删除,更新和查询数据库记录,常用      关键字:insert, delete,update,select等。

    (3):DCL(Data Control Language) 数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

    DDL语句:

    1.创建数据库

    CREATE DATABASE dbname

    2.查看数据库

    USE dbname

    3.删除数据库

    drop database dbname

    4.创建表

    CREATE TABLE tablename (column_name_1 column_type_1 constraints,
    column_name_2 column_type_2 constraints , ……
    column_name_n column_type_n constraints)

    5.查看表信息

    desc tablename 或者 show create table tablename G(这个信息更详细,包括使用的引擎,charset等,G表示信息竖着排列)

    6.删除表

    drop table tablename

    7.修改表类型(modify)

    ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

    8.增加表字段

    ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]

    9.删除表字段

    ALTER TABLE tablename DROP [COLUMN] col_name

    10.字段改名(change)

    ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]

          注意:1.first,after 用于改变字段的排列顺序;

                   2. modify 和 change 都能改变表的定义,但change后需要两次列名,不方便,但change可以修                    改名称,modify不能,modify只能改表类型。

    11.表改名

    ALTER TABLE tablename RENAME [TO] new_tablename

    DML语句:

    1. 插入记录

    INSERT INTO tablename (field1,field2,……fieldn) VALUES(value1,value2,……valuesn);

    也可以不用指定字段名称, 但是 values 后面的顺序应该和字段的排列顺序一致

    2.更新记录

    UPDATE tablename SET field1=value1, field2.=value2, ……fieldn=valuen [WHERE CONDITION]

    3.删除记录

    DELETE FROM tablename [WHERE CONDITION]
    4.查询记录

    SELECT * FROM tablename [WHERE CONDITION]
     补:distinct 不重复

           order by 排序 DESC(降序) ASC(升序)

           limit(MySQL特有):前几条记录(从0开始),limit 3 前三条, limit 1,3 第一条开始的前三条

           聚合:sum, avg,count,min,max  可加 group by (分类聚合)和 having子句(结果再条件过滤)

           表连接:内连接,外连接(左连接,右连接)

           子查询:in ,not in, =, !=, exists, not exists

            联合:union(会去重), union all

    DCL语句:

    1.授权

    grant select,insert on sakila.* to 'z1'@'localhost' identified by '123'

    2.收回权限

    revoke insert on sakila.* from 'z1'@'localhost'

    帮助的使用

    ? contents 显示所有可供查询的的分类, 进一步查询 只需 ?后接相关关键字

  • 相关阅读:
    史上最全设计模式导学目录(完整版)
    代码整洁之道读后感(三)
    代码整洁之道读后感(二)
    代码整洁之道读后感(一)
    groovy的三个强劲属性(一)Gpath
    spring mvc 自定义编辑器
    Class.this 和 this 的有什么不同
    python 异常知识点
    Freemaker 自定义指令和函数
    Freemaker如何遍历key为non-string类型的map?
  • 原文地址:https://www.cnblogs.com/wuyuxin/p/7001498.html
Copyright © 2011-2022 走看看