第二阶段:
mysql数据库
radis--缓存
py连接数据库--底层
前端:
html
css
javascript--脚本
jqury---函数
ajax
DBMS:
Oracle----甲骨文
MySQL----分布式集群
SQL Server--微软
DB2跨平台---银行
SQL-------Structured Query Language(结构化查询语言)--数据库端
DML----表中数据-----( Data Manipulation Language 数据操作语言)
——查询、插入、删除和修改数据库中的数据;
DCL---权限---( Data Control Language数据控制语言)
——用来控制存取许可、存取权限等;
DDL---表---( Data Definition Language数据定义语言)
——用来建立数据库、数据库对象和定义其列
DDL=====================
1)创建表:
create table 表名(
列名1 列类型 [<列的完整性约束>],
列名2 列类型 [<列的完整性约束>],
... ...);
Navicat:--utf-8
CREATE TABLE stu(
sno INT(4),
sname VARCHAR(20),
ssex VARCHAR(4),
sbirthday DATETIME,
stel VARCHAR(255)
)
常见完整性约束:
PRIMARY KEY 主码约束(主键)
UNIQUE 唯一性约束
NOT NULL 非空值约束
AUTO_INCREMENT 用于/整数列/默认自增1
UNSIGNED 无符号整数
DEFAULT default_value 默认值约束
//DEFAULT cur_timestamp 创建新记录时默认保存当前时间(仅适用timestamp数据列)
//ON UPDATE cur_timestamp 修改记录时默认保存当前时间(仅适用timestamp数据列)
CHARACTER SET name 指定字符集(仅适用字符串)
example:
CREATE TABLE stu(
sno INT(4) primary key AUTO_INCREMENT,
sname VARCHAR(20) UNIQUE,
ssex VARCHAR(4),
sbirthday DATETIME,
stel VARCHAR(255)
)
2)查看表结构
describe 表名
describe stu
3)删除表
drop table [if exists] tab_name [,tab_name]
drop table stu
drop table if exists stu,stt
4)修改表
alter table 表名 action;
action 可以是如下语句:
add 列名 列类型 [first | after 列名]
可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列
add primary key (列名)
为表添加一个主键,如果主键已经存在,则出现错误
alter 列名 set default 默认值
可以更改指定列默认值
alter table stu add sweight DOUBLE [after sname]
ALTER table stu add primary key(sno)
change 旧列名 新列名 [first | after 列名]
modify 列名 [first | after 列名]
和change的作用相同
drop 列名 //可以删除一列
drop primary key //可以删除主键
rename as 新表名 //可以将表名更改
============================
DML:
1)插入---新增数据
INSERT INTO <表名> ([列名1],[列名2]) VALUES <值列表>
INSERT INTO stu(
sno,sname,ssex
)values(
10,'zs','男'
),
(
20,'zs','男'
)
2)修改
UPDATE <表名> SET <列名 = 更新值>
[WHERE <更新条件>]
update stu set ssex = '女'
where sno = 10
3)删除
DELETE FROM <表名> [WHERE <删除条件>]
delete from stu where sno = 10
//4)查询
SELECT [DISTINCT | DISTINCTROW | ALL]
select_expression,...
[FROM table_references
[WHERE where_definition]
[GROUP BY col_name,...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name |
formula} [ASC | DESC] ,...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name]
]
example:
select sno,sname from stu1
select deptno,dname,loc from dept where deptno = 2
select count(dname) from dept
记数函数: count(列名) 计算元素的个数
求和函数: sum(列名) 对某一列的值求和,但属性必须是整型
计算平均值:avg(列名)对某一列的值计算平均值
求最大值: max(列名) 找出某一列的最大值
求最小值: min(列名) 找出某一列的最小值
select count(s.dname) FROM (select DISTINCT dname from dept) s
SELECT max(deptno) from dept
SELECT min(deptno) from dept
SELECT avg(deptno) from dept
SELECT sum(deptno) from dept
1,不能用*
2,where 条件
3,count sum avg max min
4,group by having order by(asc\desc) limit
5,as 别名
select size,count(size) from bbs_sku GROUP BY size
select size,count(size) from bbs_sku where size = 'XXL' GROUP BY size
select size,count(size) from bbs_sku GROUP BY size having size = 'XXL'
select size,color,count(size) from bbs_sku GROUP BY size,color having size = 'XXL'
select size,color,count(size) from bbs_sku GROUP BY size,color having size = 'XXL' order by color_id asc(默认) / desc
select size,color,count(size) from bbs_sku GROUP BY size,color having size in ('S','M','L') order by color_id asc LIMIT 0,5 (5,5)
select name as '姓名' from bbs_product
6, 在WHERE子句中使用谓词 :
BETWEEN AND :在两数之间
NOT BETWEEN AND :不在两数之间
IN <值表> :是否在特定的集合里(枚举)
NOT IN <值表> :与上面相反
LIKE :是否匹配于一个模式
IS NULL(为空的)或 IS NOT NULL(不为空的)
example:
select * from bbs_color where id between 10 and 20
select * from bbs_color where id in (10,20,30,40)
select * from bbs_color where id = 1 or id = 2
select * from bbs_color where id = 1 and name = '红色系'
select * from bbs_product where name like '%2016%'
select * from bbs_product where name like '%_毛衣%'
select * from dept where loc is [not] null
7,两表联查
===select *from dept,emp----笛卡尔积
===select *from dept d,emp e where e.deptno = d.deptno
==select * from dept d left join emp e on d.deptno = e.deptno --左外连接
==select * from dept d right join emp e on d.deptno = e.deptno--右外连接
=select * from dept d INNER join emp e on d.deptno = e.deptno--内连接(仅打印匹配成功)
select * from emp where deptno = (select deptno from dept d where d.dname = '财务部')
example:
create table dept(
deptno int(4) primary key,
dname varchar(10),
loc varchar(10)
)
create table salgrade(
grade int(3),
losal int(8),
hisal int(8),
)
alter table dept modify dname varchar(10) not null
create table emp(
empno int(4) primary key not null,
ename varchar(16),
job varchar(10),
MGR int(4),
hiredate date,
sal int(8),
comm int(8),
deptno int(4)
);
alter table emp modify ename varchar(32) not null
第二阶段 mysql------------- DDL及DML增删改查
最新推荐文章于 2022-09-12 15:13:11 发布