掌握 SQL 这些核心知识点,出去吹牛逼再也不担心了

章 SQL的介绍

1.1、什么是sql
  • SQL:Structure Query Language。(结构化查询语言),通过sql操作数据库(操作数据库,操作表,操作数据)
  • SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准
  • 各数据库厂商(MySql,oracle,sql server)都支持ISO的SQL标准。
  • 各数据库厂商在标准的基础上做了自己的扩展。各个数据库自己特定的语法
1.2、sql的分类
  • Data Definition Language (DDL数据定义语言) 如:操作数据库,操作表
  • Data Manipulation Language(DML数据操纵语言),如:对表中的记录操作增删改
  • Data Query Language(DQL 数据查询语言),如:对表中数据的查询操作
  • Data Control Language(DCL 数据控制语言),如:对用户权限的设置
1.3、MySQL的语法规范和要求

(1)mysql的sql语法不区分大小写

MySQL的关键字和函数名等不区分大小写,但是对于数据值是否区分大小写,和字符集与校对规则有关。

ci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小写)

(2)命名时:尽量使用26个英文字母大小写,数字0-9,下划线,不要使用其他符号user_id

(3)建议不要使用mysql的关键字等来作为表名、字段名等,如果不小心使用,请在SQL语句中使用`(飘号)引起来

(4)数据库和表名、字段名等对象名中间不要包含空格

(5)同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名

(6)标点符号:

  • 必须成对
  • 必须英文状态下半角输入方式
  • 字符串和日期类型可以使用单引号’’
  • 列的别名可以使用双引号"",给表名取别名不要使用双引号。取别名时as可以省略
  • 如果列的别名没有包含空格,可以省略双引号,如果有空格双引号不能省略。

(7)SQL脚本中如何加注释

  • 单行注释:#注释内容
  • 单行注释:–空格注释内容 其中–后面的空格必须有
  • 多行注释:/* 注释内容 */

#以下两句是一样的,不区分大小写show databases;SHOW DATABASES;<p>#创建表格#create table student info(...); #表名错误,因为表名有空格create table student_info(...); </p>

#其中name使用``飘号,因为name和系统关键字或系统函数名等预定义标识符重名了。CREATE TABLE t_stu(    id INT,    `name` VARCHAR(20));

select id as "编号", `name` as "姓名" from t_stu; #起别名时,as都可以省略select id as 编号, `name` as 姓名 from t_stu; #如果字段别名中没有空格,那么可以省略""select id as 编 号, `name` as 姓 名 from t_stu; #错误,如果字段别名中有空格,那么不能省略""