SQL语言分类
DML:添加,修改,删除,查询
DCL:用户,权限,事务
DDL:逻辑库,数据表,视图,索引
SQL语句注意事项
- SQL语句不区分大小写,但是字符串区分大小写 eg: SELECT “HelloWorld”;
- SQL语句必须以分号结尾
- SQL语句中的空白和换行没有限制,但是不能破坏语法
SQL语句的注释
# 这是第一种
/* 这是第二种 /*
常用DDL语句
创建,展示,删除逻辑库(DDL)
create database <name>;
show databases;
drop database <name>;
创建数据表
CREATE TABLE 数据表(
列名1 数据类型 【约束】 【COMMENT 注释】,
列名2 数据类型 【约束】 【COMMENT 注释】,
......
)【COMMENT = 注释】;
create table student(
id INT unsigned primary key,
name varchar(20) not null,
sex char(1) not null,
birthday date not null,
tel char(11) not null,
remark varchar(200)
);
数据表的其他操作
show tables;
desc student;
show create table student;
drop table student;
添加字段
ALTER TABLE 表名称
ADD 列1 数据类型 【约束】 【COMMENT 注释】,
ADD 列2 数据类型 【约束】 【COMMENT 注释】,
......;
alter table student
add address varchar(200) not null,
add home_tel char(11) not null;
修改字段类型和约束
ALTER TABLE 表名称
MODIFY 列1 数据类型 【约束】 【COMMENT 注释】,
MODIFY 列2 数据类型 【约束】 【COMMENT 注释】,
......;
alter table student
modify home_tel varchar(20) not null;
修改字段名称
ALTER TABLE 表名称
CHANGE 列1 新列名1 数据类型 【约束】 【COMMENT 注释】,
CHANGE 列2 新列名2 数据类型 【约束】 【COMMENT 注释】,
......;
alter table student
change address home_address varchar(200) not null;
删除字段
ALTER TABLE 表名称
DROP 列1,
DROP 列2,
......;
如何创建索引
CREATE TABLE 表名称(
......,
INDEX 【索引名称】 (字段),
......
);
如何添加与删除索引
CREATE INDEX 索引名称 ON 表名(字段);
ALTER TABLE 表名称 ADD INDEX 【索引名】(字段);
SHOW INDEX FROM 表名;
DROP INDEX 索引名称 ON 表名;
索引的使用原则
- 数据量很大,而且经常被查询的数据表可以设置索引
- 索引只添加在经常被用作检索条件的字段上面
- 不要在大字段上创建索引