数据库

数据库database:简称DB,就是存放数据的仓库。

数据data:文本,图片,音乐,视频等

数据库:roacle,mysql,mogodb,DB2,sqlserver等

mysql:5.0   5.5   2G   100M

就安装包而言,mysql不区分32位和64位

 

mysql的安装和卸载:

服务端的安装和卸载

        服务端的卸载分4:1、关闭服务 2、卸载服务端 3、删除服务端的文件夹 4、sc验证

        windows->system32->cmd->sc delete mysql;

        服务器的安装:

        服务器的配置:

        port number端口号:3306

        一般来说:密码容易忘所以账号和密码一致。

        musql的用户名默认是:root

        所以服务端最难安装

 

客户端的安装和卸载

        客户端种类:mysql-front,小叶子navicat,小海豚等

        卸载:简单

        控制面板->卸载

        安装:下一步

注意:客户端的作用,只是为了方便用户操作服务端,其实数据都在服务端存储的

 

本机:127.0.0.1    localhost  

 

sql(structured query language):结构化查询语言,增删改查

是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统;

 

DDl数据库定义语言:show 查看  create创建   drop删除   alter修改

查询所有数据库

        show databases;

        创建数据库stu

        create database stu;

        删除数据库

        drop database stu;

        设置test为当前数据库

        use test;

创建一个表格stu

        create table stu(sid int,sname char(10),age int,score double(10,2),address varchar(100));

        删除表stu

        drop table stu;

       

 

DML数据库操纵语言 insert into,delete,update,select

        查看stu表的数据

        Select * from stu;

        向stu表里添加一条数据

        Insert into stu values(1,”张三”,24,67,”河北”);

        把张三的数据改为李四的数据

        update stu set sname=”李四”,age = 24,score= 56,address=”河南” where sname=”张三”;

        删除李四的数据

        delete from stu where sname=”李四”;

 

数据类型:5类

整数类型:tiny int , small int, int, big int

浮点类型:float, double

字符串类型:不区分单引号和双引号:char  varchar   text  

日期类型:date,datetime

其他类型:binary,varbinary,enum,set

约束:约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性

六种约束:主键约束、非空约束、唯一约束、默认约束、检查约束、外检约束

主键约束:主键就是主要的那个键,但是主键只能拥有一个,除非使用联合主键

主键:primary key:唯一+非空

非空约束:数据不允许为空值:not null

唯一约束:unique

默认约束:default

检查约束:check

外键约束:foreign key(必须有两张或者两张以上)

auto_increment

总结:1、是在创建表格的时候添加约束

      2、建完表以后,在单独添加约束

单表查询:

DDL:

DML:数据操纵语言。增insertdeleteupdateselect

增删改查

员工表emp 部门表dept 工资登记表salgrade

create table emp(

       empno int,     员工编号 

       deptno int,       部门编号

       ename varchar(20),员工姓名     

       job varchar(20),   工种   

       mgr int,       上级领导编号

       hiredate date,   入职日期   

       sal double(10,2),   员工工资   

       comm double(10,2)  奖金

 

);

DDL:

DML:数据操纵语言。增insert删delete改update查select

增删改查

员工表emp  部门表dept    工资登记表salgrade

create table emp(

       empno int,  --员工编号

       deptno int, --部门编号 

       ename varchar(20),--员工姓名

       job varchar(20),--工种

       mgr int,               --上级领导编号

       hiredate date,--入职日期

       sal double(10,2),--员工工资

       comm double(10,2)--奖金 

);

查看所有数据

select * from emp;

单表查询:查询的字段在同一表中

查询所有的数据

记住:sql语句运行的顺序不是按照从上至下,是按照关键字的优先级来运行的

from的优先级高于select的优先级

select * from emp;--查询效率低,开发功能高

select empno,deptno,ename,job,mgr,hiredate,sal,comm,from emp;--查询效率高

 

条件:where当。。。时候

查询员工表中10号部门员工的信息

记住:写sql语句按照关键字的优先级来写

1.from    2.where   3.select

select * from emp where depton = 10;

查看10号部门工种为clerk,名称是张三的员工信息

select * from emp where deptno = 10 and job = 'clerk' and ename = '张三';

查询公司的部门编号

关键字:distinct

select distinct deptno from emp;

查询工资是1000-2500的员工信息

betweem...and 在...之间

select * from emp where sal >= 1000 and sal <=2500;

查询员工不是10号部门的员工信息

select * from emp where deptno = 10 and job='clerk' and ename='张三';

查询公司的部门编号

关键字:distinct去除重复

select distinct deptno from emp;

查询工资是1000-2500的员工信息

between...and 在。。。之间

select * from emp where sal>=1000 and sal<= 2500;

select * from emp where sal between 1000 and 2500;

查询员工不是10号部门的员工信息

select * from emp where deptno !=10;

select * from emp where deptno <>10;

空null或者非空  not null

查询员工的奖金为空的员工信息

select * from emp where comm is null;

查询员工是10号部门,并且奖金是非空的员工的信息

select * from emp where deptno = 10 and comm is not null;

逻辑操作符:and两个条件都为true ,则返回true;or两个条件中任何一个为true,则返回true;

not如果条件为FALSE,返回如果条件为false,返回true

查询员工是10号部门和20部门的员工信息

or或者

select * from emp where deptno = 10 or deptno = 20;

查询工种是clerk和salesman的员工的信息

in()在...里面

select * from emp where job = 'clerk' or job= 'salesman';

select * from emp where job in('clerk','salesman');

查询入职日期在1980年08月01日之后,工资大于1000的,并且不是clerk,salesman的员工信息

not in()不在。。。里面

记住:关键字不区分大小写,表名和字段名也不区分大小写,数据也不区分大小写

select * from emp where hiredate >'1980-08-01' and sal>1000 and job in ('clerk','salesman');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值