数据库原理
1.数据库的特点
2.用表格数据来表示实体与实体之间的联系的模型。叫关系模型
SQL:结构化查询语句
1.不区分大小写
2.每条语句以;结尾
SQL语句分为:
DDL:数据库定义语言,用来创建数据库,创建表格等
DML:数据库管理语言,如增删改查语句等
DCL:数据库操作语言,如修改数据库系统权限
DDL
1.查看数据库
show databases;
2.创建数据库
create database <>;
3.删除数据库
drop database <>;
4.使用数据库
use <>;
5.查看数据库中的表格
show tables;
6.新建表格
create table 表格名称(
字段1 数据类型(长度) 缺省值,
字段2 数据类型(长度) 缺省值,
...
字段n 数据类型(长度) 缺省值
);
数据类型
int:整型
varchar:可变字符串,如果字符串的长度少于定义的长度以实际长度为准
char:字符串,如果字符串的长度少于定义的长度以空格填充
double(float):浮点型
primary key:主键,主键不能重复,且不能为空
不能超过定义数据类型的长度
7.查看表格结构
desc <>;
8.删除表格
drop table <>;
9.修改表格的结构
增加字段
alter table student add classid int(2);
删除字段
alter table student drop classid;
修改字段
alter table student change classid int(3);
DML语句:数据库管理语言(增,删,改,查)
1.增加一条记录
全字段添加
insert into values(111,'zs','男',30,90,1);
指定字段添加
insert into (id,name,age) values(112,'ls','40');
2.修改记录 可以and 和 or
update set sex='女',grade=80,classid=3 where id=112;
update set grade=70 where name='ww' or age=40;
3.删除记录
delete from where id=110;
delete from where grade>=70;
delete from where id=111 and age=20;
4.查询数据
查询所有数据
select * from ;
查询年龄大于30的记录 > >= < <=
select * from where age>30;
select * from where age>40 and age<50; //在40到50之间的
select * from where age between 40 and 50;//40到50之间的,包括边界值
select name,age from where classid=1;//查询1班人的名字和名字
select * from where classid=1 and sex='男';//查询1班并且性别为男的
组函数
count(*) 计数
select count(*) 人数 from ;//查询学生的数量并取别名。
avg(*)平均数
select avg(grade) avg_grade from ;//查询学生成绩的平均值
max(*)最大值
min(*)最小值
模糊查询
%:代表匹配0个或者多个任意字符
_:匹配0个或者1个字符
select * from where name like '%s%';//查询名字中有s字符的记录
select * from where name like '_z%';//查询名字中z前面有0个或者一个任意字符,后面多个任意字符
排序 order by(默认升序)
select * from order by grade;默认升序排序 asc升序 desc降序
分组查询group by
//查询各个班级的平均成绩
select avg(grade) 平均成绩,classid from group by classid;
子句查询
查询成绩小于平均成绩的人
select * from where grade);
sql不够严谨
1.字符串单引号和双引号都可以使用
2.数字字符串和数字之间可以自动转换
insert into student (id,name) values('234','sde');//不报错
insert into student (id,name) values('234a','sde');//报错