1.SQL语言分类
- DDL: (data defination language, 数据定义语言)用于对数据库和表进行创建和删除,包括Create、Drop、Alter
- DML:(Data Manipulation Language,数据操纵语言)用于查询和变更表中的记录,包括Select、Insert、Update、Delete
- DCL:(Data Control Language,数据控制语言)用于确认或者取消对数据库中的数据进行的变更;对权限进行设定,包括Commit(确认对数据库中的数据进行变更)、Rollback(取消对数据库中的数据进行变更)、Grant(赋予用户操作权限)、Revoke(取消用户的操作权限)
2.书写SQL规则
- 以(;)结尾
- 关键词不区分大小写,表中的数据区分大小写
- win系统中不区分表名及字段名的大小写
3.数据库操纵
3.1数据库、表的创建
- 只能使用英文字母、数字、下划线作为数据库、表和列的名称
2. 数据类型:必须存储与定义数据类型相同的数据
- integer型——用于存储整数,不能存储小数
- char型——用于存储定长字符串,当存储字符串不足时,使用空格填充,浪费存储空间,一般不使用
- varchar型——用于存储可变长度的字符串,达不到最大长度不会填充
- date型——用于存储日期类型(年月日)
- 约束条件
- primary key (列名)为主键约束,具有唯一性
- not null 为非空约束,设置not null的列不能为空
3.2表的删除、更新
- alter更改表结构,操作后不可恢复,谨慎使用
alter table product add column product_color varchar(10);
- 删除表
drop table product;
- 清空表中的数据
truncate table product;
- 更新表格
//对product表中按照条件筛选的数据中的product_id设置为123
update product
set product_id=123
where product_id=234
order by 子句
limit 子句;
------------------
//将某列的值全部更新为NULL,该列为非主键、非not null
update product
set regist_date = NULL
where product_id = '0008';
//更新多列
update product
set sale_price=sale_price*10,
purchase_price=purchase_price/2
where product_type='厨房用具';
- 插入数据
mysql> insert into productins values('0002','打孔器','办公用品',500,320,'2009-09-11'),
-> ('0004','菜刀','厨房用品',2000,2800,'2009-09-20');
3.3索引的创建
- 三种方式
//1.建表后创建
create index indexName on table_name(column_name);
//2.更改表结构
alter table table_name add index indexName(column_name);
//3.创建表的同时创建索引
create table mytable(
ID int not null,
username varchar(16) not null,
index indexname (username(length));
- 索引分类:主键索引(在主键上创建)、唯一索引(在UNIQUE字段上标识的列上创建)、普通索引、前缀索引(字符类型字段前几个字符)、全文索引