02.SQL语言的规则和规范
2.1 基本规则
- SQL语句可以写在多行或者是单行。为了提高可读性,各字句分行写,必须使用缩进
- 每条语句必须以; 或者/g或者/G结尾
- 关键词不能被缩写,也不能被分行
- 标点符号
- 所有的(),'',""都必须是成对存在的
- 必须使用英文状态下的半角输入方式
- 字符串类型和日期时间类型的数据可以用单引号表示
- 列的别名,尽量使用双引号,不建议省略as
2.2 SQL大小写规范
- MySQL在windows环境下是大小写不敏感的
- MySQL在linux环境下是大小写敏感的
- 数据库名、表名、表的别名、变量名是严格区分大小写的
- 关键字、函数名、列名(或字段名)、列的别名(字段的别名)是忽略大下写的
- 建议推荐使用统一的书写规范
- 数据库名、表名、表别名、字段名、字段别名都小写(和数据库相关都小写)
- SQL关键字、函数名、绑定变量等都大写(关键字、函数、变量大写)
2.3 注释
注释一共有三个形式
单行注释: # 我是单行注释
单行注释: -- 我也是单行注释(--后面必须要加一个空格)
多行注释:
/*
我是多行注释
*/
2.4 命名规则
- 数据库、表名不能超过30个字符,变量名限制29个字符
- 必须要只能使用a-z、A-Z、0-9、_ 共63个字符
- 数据库名、表名、字段名等对象名中间不能包含空格(虽然可以用``包裹起来解决空格问题,但是不建议这么做)
- 数据库不能同名、同一个数据库表不能同名、同一个表字段不能同名
- 字段不能和保留字、数据库系统或者常用方法冲突。(虽然可以用``包裹起来解决字段命名问题,但是不建议这么做)
- 保证字段名和类型的一致性,相同字段在不同的表中需要保证数据类型一致性
# 以下两句是一样的,不区分大小写
show databases;
show DATABASES;
# 创建表格
# create table student info(...); # 表名错误,因为表名有空格
# create table `student_info`(); # 可以解决表名带空格的问题,但不推荐使用
create table student_info(...);
# 其中order是用了``,因为order和系统关键词重复
create table `order`(
id int,
name varchar
);
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; # 错误,字段别名中有空格,不能省略""
2.5 数据库导入命令
在命令行客户端登录mysql,使用source命令导入
source d:\mysqldb.sql