mysql数据库

mysql数据库

数据库的创建,修改,删除
表的创建,修改,删除
数据:insert,delete,update,select

数据库

  1. 数据库
    存储和管理数据的仓库
  2. 商用数据库
    Oracle 甲骨文公司 java
    SQL server 微软 .net
    DB2 IBM
  3. 开源数据库
    mysql ------- Oracle
  4. 安装数据库
    端口: 3306
  5. 启动停止数据库服务
    计算机管理 -> 服务
    终端 -> net stop mysql 、 net start mysql
  6. 启动客户端
    终端 -> mysql -uroot -proot (-u后边表示用户名,-p后边表示密码)
    mysql命令行客户端 -> 直接输入密码
  7. 创建数据库
    在客户端里
    create database db_test1;
    create database db_test2 character set utf8;(数据库编码格式)
  8. 查看数据库
    在客户端里
    show databases;
  9. 查看数据库的创建语句
    在客户端里
    show create database db_test1;
  10. 修改数据库和删除数据库
    在客户端里
    alter database db_test1 character set gbk;
    drop database db_test1;

  1. 创建表
    选择数据库
    use db_test1;
    create table tb_emp(
    filed type,
    filed type,

    )character set utf8;
    create table tb_emp(
    filed type,
    filed type,

    )default charset=utf8;
  2. 字段的数据类型
    字符串:
    char------定长 0-255(不够长度用空格补齐)
    varchar------不定长度 0-65535
    整型:
    tinyint------1个字节
    smallint------2个字节
    int-------4个字节
    bigint------8个字节
    浮点型:
    float------4
    double------8
    大文本:
    blob------二进制 图片 4gb
    text------4gb
    日期:
    date------yyyy-MM-dd
    time------HH:mm:ss
    datetime------yyyy-MM-dd HH:mm:ss
    timestamp------yyyy-MM-dd HH:mm:ss 时间戳不能为空
    bit类型:
    boolean 0 1
  3. 约束
    唯一性约束:unique 可以为null
    主键约束:primary key 唯一并且不能为空、一般不表示逻辑、auto_increment自动增长
    不为空约束:not null
    外键约束:foreign key 数据量大时不建议使用
  4. 显示表结构,显示数据库中的表
    desc tb_emp;
    show tables;
    select database();显示当前所在的库名
  5. 删除表
    drop table tb_emp;
  6. 修改表
    添加列(字段)
    alter table tb_emp add image varchar(100);
    alter table tb_emp add image varchar(100) after name;
    修改列的数据类型
    alter table tb_emp modify image varchar(50);
    修改列名
    alter table tb_emp change image image1 varchar(50);
    删除列
    alter table tb_emp drop image;
    修改表名
    alter table tb_emp rename to emp;
    rename table tb_emp to emp;
    修改表的字符集
    alter table tb_emp character set utf8;

数据

  1. 插入数据
    insert into tb_emp values(1,‘1001’,‘admin’,18);//1是id,id自增长,此处写1是因为少写字段会报错
    insert into tb_emp (empid,name) values(‘1001’,‘admin’);
  2. 修改数据
    update tb_emp set name=‘李四’,age=19 where id=2;
  3. 删除数据
    delete from tb_emp where id=1;//一条一条删除
    truncate table tb_emp;//清空表,把表摧毁,重新建立表的结构
  4. 查询数据
    select * from tb_emp;
    select empid,name from tb_emp;
    select distinct deptid from tb_emp;//去重
    select name as 姓名 from tb_emp;//别名
  5. where子句
    运算符:>、<、>=、<=、=、!=、<>
    select name from tb_emp where salary > 5000;
    in()
    select * from tb_emp where deptid in(10,20);
    between…and
    where salary between 3000 and 5000;
    like % _ (_表示一个字符,%表示零个或多个)
    where name like ‘_小%’;
    and、or、not
    is null、is not null(判断空值)
    where email is not null;
    如果该字段是空就将其变为0或者其它
    ifnull(salary,0);
  6. order by子句
    排序:升序、降序
    order by 排序的字段 asc / desc,默认是升序
    order by salary asc
    order by salary asc,name desc
    where后不能使用列别名,order by后可以使用列别名
  7. 聚合函数
    sum()、avg()平均、min()、max()、count()
    select sum(salary) from tb_emp;
  8. group by子句,having子句
    select deptid,avg(salary) from tb_emp group by deptid;
    group by后出现的字段名,必须出现在select后边,并且不会被分组函数包含
    需求:按部门分组后,显示部门的平均工资>5000
    select deptid,avg(salary)
    from tb_emp
    group by deptid
    having avg(salary)>5000;
    where子句中不能有分组函数,有分组函数参与的子句过滤用having
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值