一、关系型数据库语言SQL语言组成
- 数据定义语言DDL:creat,Alter,Drop
- 数据操作语言DML:insert,delete,update
- 数据控制语言DCL:Grant(授权),Revoke(收回权限)
- 数据查询语言DQL:Selete(查询)`
备注:只要是关系型数据库都可以用SQL,主要用于管理数据库数据,如存取、查询、更新
二、数据库基本操作
- 建立数据库:
creat database +数据库名称
- 查看数据库:
show databases
- 修改数据库:
alter database 数据库名称 default character set 编码方式 collate 编码方式_bin
- 删除数据库:
drop database 数据库名称
数据表的基本操作
- 创建数据表:create table 表名 {字段名1 数据类型 [约束条件]
,字段名1,数据类型 [约束条件]
,字段名1,数据类型 [约束条件] …}
例:create table employees(emplooyeeid char(6) primary key, name char(10) not null, Education char(4) Birthdaydate date, Gender bit, Workyear int, Address varchar(40), Phonenumber(12), DepartmentID int)
- 查看数据表:
-
shoe create table 表名
-
describe 表名
-
desc 表名
注: desc 是describe的简写
3.修改数据表
- 修改表名:
alter table 旧表名 rename 新表名;
- 修改字段名:
修改字段名:alter table+旧表名+change+旧字段名 新字段名 新数据类型;
- 修改字段类型:
alter table+表名+modify+字段名 数据类型;
- 添加字段:
alter table+表名+add+新字段名 数据类型[约束条件] [first|after+已存在字段名]
- 删除字段:
alter table+表名+drop+字段名;
- 修改字段排列位置:
alter table+表名+modify+字段名1 数据类型 first|after+字段名2;
- 删除数据表:
drop table+表名;
- 设置默认值:
default 默认值
- 备注:
comment 备注名
- 设置值字段自动增 :
字段名 数据类型 auto_increment;
表的约束
##############上图为转载图片
1.主键约束
- 单个主键约束单字段主键:
字段名 数据类型 PRIMARY KEY [默认值]
范例:
定义数据表employee2,其主键为id
CREATE TABLE employee2
(
id INT (11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT);
- 多个字段成为主键:
PRIMARY KEY [字段1,字段2,......字段n]
范例:定义数据表employee4,假设表中没有主键id,为了唯一确定一个员工,可以把name和deptId联合起来作为主键,SQL语句如下:
CREATE TABLE employee4
(
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY (name,deptId)
);
2.非空约束
- 语法:
字段名 数据类型 not null
- 非空约束指字段的值不能为空
例:
create table t1(
per_name varchar(20),
per_age int not null
);
3.默认值约束
-
语法:
字段名 数据类型 default 默认值;
-
例
create table t2( name varchar(20), age int not null default 0, sex varchar(1) default '男');
4.唯一约束
-
语法:
字段名 数据类型 unique;
例:create table t2( name varchar(20) unique, age int not null default 0, sex varchar(1) default '男');
5.外键约束的俩种方法
- 1 .在已经建立好的表中添加外键语法:
add constraint FK_ID foreign key(外键字段名) references 外表表名(主键字段名)
- 2 .在表中添加外键:
foreign key(字段名) reference 另一个表名 (字段名)
注意,一个表的外键另一个表的主键