一、表的结构
- 表的列称为字段,表的行称为记录。
- 关系数据库必须以行为单位进行数据读写。
二、SQL语句要注意的几点
- SQL语句以分号结尾。
- SQL语句均已英文状态进行书写。
- SQL不区分关键字的大小写。但插入表中的数据是区分大小写的,即’abc’与’Abc’不同。
三、SQL种类
(1)DDL
DDL:用来创建或者删除数据库及表等对象。
- create:创建数据库和表等对象
create database if not exists <数据库名>
use <数据库名>
//——————————————————————
create table if not exists <表名>(
<列名1> <数据类型> <该列所需约束>,
<列名2> <数据类型> <该列所需约束>,
…
<该表的约束1>,
<该表的约束2>
)
//示例:创建product表的create table 语句
create table if not exists product(
product_id char(4) not null,
product_name varchar(100) not null,
product_type varchar(32) not null,
sale_price integer,
purchase_price integer,
regist_date date,
primary key(product_id)
);
*注:命名规则:
- 只能使用英文字母、数字、下划线(_)作为数据库、表和列的名称。
- 名称必须以英文字母开头。
- 在同一数据库中,表名不能重复;在同一表中,列名不能重复。*
- drop:删除数据库和表等对象
drop database if exists <数据库名>
drop table if exists <表名>
注意:删除的表是无法恢复的,只能重新创建,再重新插入数据。
- alter:修改数据库和表等对象
-- 添加列
Alter table <表名> add column <列的定义>
//示例:在product表中添加一列可以存储100位可变长字符串的product_name_pinyin列
Alter table product add column product_name_pinyin varchar(100);
-- 删除列
Alter table <表名> drop column <列名>
//示例:删除product表中的product_name_pinyin列
Alter table product drop column product_name_pinyin;
注:alter table语句和drop table语句一样,执行之后无法恢复。
(2)DML
DML:用来查询或者变更表中的记录
- select:查询表中的数据
-- 取该表中的全部列(*代表全部列)
select * from <表名>
-- 取该表中<列名1>,<列名2>这两列数据
select <列名1>,<列名2>,… from <表名>
/*取该表中<列名1>这一列数据,输出时该列列名显示为as后设置的别名,中文别名要加双引号*/
select <列名1> as x1 from <表名> -- 显示 x1
select <列名1> as “别名1” from <表名> -- 显示 别名1
-- 在select子句中也可书写常数(数字常数,字符串常数,日期常数)
select 37 as number ,’字符串常数’ as string,’2020-10-30’ as date,<列名1>,… from <表名>;
-- 取该表中符合条件的部分数据(where)
select * from <表名> where <列名1> = ‘xx’(条件表达式)
-- 取不重复的数据(distinct)
//注:distinct只能放在第一个列名之前
select distinct <列名1>,<列名2> from <表名>
- insert:向表中插入新数据
start transaction;
inset into <表名> values (…,…);
commit;
注:values后括号内填写数据顺序及类型要与建表时的字段顺序相匹配。字符型和日期类型数据需加引号,数值型数据不用加引号,可直接填写。
- update:更新表中的数据
update from <表名> set <列名1> = … , <列名2> = … where 更新条件;
- delete:删除表中的数据
delete from <表名> where 删除条件;
(3)DCL
DCL:用来确认或取消对数据库中数据进行的变更;还可对RDBMS的用户是否有缺陷操作数据库中的对象进行设定。
- Commit:确认对数据库中数据进行的变更
- Rollback:取消对数据库中数据进行的变更
- Grant:赋予用户操作权限
- Revoke:取消用户的操作权限