nikoo 发表于 2018-10-9 06:28:28

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_definition
  8.增加表字段
  ALTER TABLE tablename ADD column_definition
  9.删除表字段
  ALTER TABLE tablename DROP col_name
  10.字段改名(change)
  ALTER TABLE tablename CHANGE old_col_name column_definition
  注意:1.first,after 用于改变字段的排列顺序;
  2. modify 和 change 都能改变表的定义,但change后需要两次列名,不方便,但change可以修                  改名称,modify不能,modify只能改表类型。
  11.表改名
  ALTER TABLE tablename RENAME 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
  3.删除记录
  DELETE FROM tablename
  4.查询记录
  SELECT * FROM tablename
  补: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'>  2.收回权限
  revoke insert on sakila.* from 'z1'@'localhost'
  帮助的使用
  ? contents 显示所有可供查询的的分类, 进一步查询 只需 ?后接相关关键字

页: [1]
查看完整版本: MySQL学习笔记(一):SQL基础