1.SQL 的安装
- 下载地址:https://www.mysql.com/downloads/
- 安装配置数据库(跟着老师的步骤装的~_~)
- 检查安装:打开CMD终端,输入:mysql -u root -p回车,输入安装时配置的密码:(是以管理员身份运行的) 看是否启动成功
- 输入:show databases;注意以英文分号结束语句,查看所有数据库:
DDL:creat /drop /alter(创建/删除/改变)
DML:insert /delete /update (添加/删除/更新)
DQL: select (查找)
DCL:grant /revoke (授权/撤销授权)
2.概述
- 增删改查是数据库的基本操作;
- 习惯上用CRUD来分别代表增查改删:即Create,Retrieve,Update,Delete;
- 数据库的增删改查操作是通过SQL语句来实现的;
- MySQL中的SQL语句对大小写是不敏感的;
- 各大关系型数据库所使用的SQL语句整体上是大同小异的;
- 删除数据不是常规操作,要特别谨慎,一般企业开发中原则上是不删除数据的;
- 如果的确有删除需求,通常的做法是进行逻辑删除(例如标记isDelete=True),而不是物理删除;
创建简单的公司部门的数据库
-- 创建之前先判断有没有之前创建的 有的话先把他删掉
drop database if exists company;
create database company default charset utf8;
-- 关系型数据库用二维表组织数据
-- 关系型数据库有自己的编程语言
-- 切换到company数据库
use company;
-- 创建部门表 deptno部门编号 dname 部门名称 dloc 部门所在地 not null 不能为空
-- 能够唯一确定一条记录的列可以设置为主键
drop table if exists tb_dept; -- 删表
create table tb_dept
(
deptno integer not null comment '部门编号',
dname varchar(20) not null comment '部门名称',
dloc varchar(10) comment '部门所在地',
primary key (deptno)
);
--添加一个列为成立日期
alter table tb_dept add ddate date comment '成立日期';
-- 向部门表添加数据
insert into tb_dept values (10, '财务部','成都', now());
insert into tb_dept (deptno,dname) values (20, '研发部');
insert into tb_dept (deptno,dname) values (30, '销售1部'),(40,'销售2部')
,(50,'后勤保障部');
-- 删除数据(注意:一定要带上条件)
delete from tb_dept where deptno=50;
-- 更新
update tb_dept set dloc='深圳',ddate='2018-4-1' where deptno=30;
-- 查所有行所有列
select * from tb_dept;
-- 投影
select deptno,dname from tb_dept;
-- 别名
select deptno as 部门编号, dname as 部门名称 from tb_dept;
-- 筛选
select deptno, ddate from tb_dept where dloc='深圳';
创建学生信息数据库
drop database if exists campus;
create database campus charset=utf8;
use campus;
-- 创建一个学生列表
create table student
(
id integer primary key auto_increment,
name varchar(20) not null comment '姓名',
age integer not null comment '年龄',
gender varchar(10) comment '性别',
birthday datetime comment '生日'
);
-- 添加一列
alter table student add score integer;
-- 插入学生数据
insert into student(name,age,gender,birthday,score) values ('大锤',18,'男',19991023,96);
insert into student(name,age,gender,birthday) values ('二狗',22,'男',19950815);
insert into student(name,age,gender,birthday) values ('三元',21,'女',19960723);
-- 查看所有行列
select * from student;
-- 修改学生信息
update student set name='石敢当' where name='三元';
-- 投影
select name, age from student;
-- 别名
select age as 年龄 , gender as 性别 from student;
-- 筛选
select gender, birthday from student where id=2;