• Java笔记(10)


    目录

    数据库基础核心操作:

     1、连接数据库

     2、显示出该MySQL服务下的数据库

     3、创建自己的数据库

     4、创建自己的表

     5、删除表

     6、修改表

     7、注释

    8、插入数据

    9、修改数据

    10、删除数据

    11、查询数据

    练习:


    数据库基础核心操作:

    进入MySQL命令符:mysql -u root -p
    客服端Client和服务器Server模式(C/S模式 或 C/S架构)
    数据库的服务器:mysql服务
    数据库的客服端:cmd【命令行方式】、navicat【界面】

     1、连接数据库

       host:主机
      cmd: mysql -h ip地址 -u root -p
      ip地址:那一台电脑?
        同一台电脑:127.0.0.1(本机回路IP地址)  域名:localhost
     端口:哪个房间  3306
     账号:root超级管理
     密码:root

     2、显示出该MySQL服务下的数据库

     show databases;

     3、创建自己的数据库

      create database 数据库名 character set 'utf8' collate 'utf8 bin';
                                                                存储编码                 排序规则  
     drop database if exists 数据库名;//如果该数据库存在时,删除该数据库
     use 数据库;// 使用该数据库

     4、创建自己的表

            show tables;#显示所有的表
            desc 表名;  #查看该表的数据类型

    创建表: 

      create table 表名
     (
        列名1 数据类型,
        列名2 数据类型,
        ......
    );


    学生表:学号、姓名、性别、年龄、出生日期
                Java 整型     int 
                        小数    float double
                     字符串    varchar
                        日期    date datetime

    举个例子: 

    1. CREATE TABLE train_user(
    2. userid VARCHAR (100) PRIMARY KEY,
    3. username VARCHAR(100) NOT NULL,
    4. psw INT,
    5. sex VARCHAR(20),
    6. money DOUBLE,
    7. id VARCHAR(100),
    8. phone VARCHAR(100),
    9. photo VARCHAR(200),
    10. createtime datetime
    11. );
    12. INSERT into train_user(userid,username,psw,sex,money,id,phone,photo,createtime)VALUES
    13. ('user1','肖战',123,'男',100.01,'12345678901','12222222222','c1.jpg','2001-01-18 10:20:12'),
    14. ('user2','白鹿',123,'女',100.10,'12345678901','12222222222','c1.jpg','2001-01-18 10:20:12'),
    15. ('user3','杨紫',123,'女',100.83,'098765432345','12222222222','c1.jpg','2001-01-18 10:20:12'),
    16. ('user4','胡歌',123,'男',100.23,'098765432345','12222222222','c1.jpg','2001-01-18 10:20:12'),
    17. ('user5','鹿晗',123,'男',100.33,'098765432345','12222222222','c1.jpg','2001-01-18 10:20:12');

    主键:唯一标识、 数据不能重复
        primary key
        一个表,只能有一个主键
        一个主键:可以关联一个或多个字段
    数据:规范或约束
        int 类型: 值需要约束
        主键约束:值不能重复
        外键约束:子表中外建值,在父表中一定要存在
        非空约束:not null
        唯一约束:unique
        自定义约束:年龄不能小于0,性别只能在男和女

     5、删除表

    drop table if exists student;//如果student表存在 就进行删除

     6、修改表

    alter table student add address  varchar(20);

     将address  varchar(20)添加到student表格属性中去

     7、注释

    create table classmate
    (
    classid varchar(20) primary key comment '注释',
    classname varchar (20) comment'班级名称',
    );comment '班级表';

    8、插入数据


        insert  into 表名(列1,列2,。。。)
        values(值1,值2,.....),
        (值1,值2,......);


        值    数字不需要' '单引号
        字符串    需要    单引号'    不能用双引号" "
        日期 yyyy-mm-dd    '2001-02-18'
            hh:mi:ss   '01:10:10'
    主键约束:唯一
    非空约束:不能为空

    9、修改数据


        update 表名 set 列1 = 值1,列2 = 值2,。。。
            where 列=值;

    1. UPDATE train_user SET psw = 123456 WHERE userid = 'user3';
    2. UPDATE train_number SET num = 200,money = 300 WHERE number = 'D6208';
    3. UPDATE train_number SET endstationid = '厦门北' WHERE number = 'D6237';
    4. UPDATE train_station SET stationinfo = '厦门北' WHERE stationid = '厦门北';

    10、删除数据


        delete from 表名 where 列 = 值;

    1. delete from tb_user where tb_user.age < 20


    11、查询数据


        select 列1,列2,。。。 from 表名 where 列=值1;

    1. SELECT * FROM train_station;
    2. select userid,username,userage from usertable where userid = 01;

    注意点:模糊查询like

    1. SELECT * FROM train_station WHERE stationid LIKE '南%';
    2. SELECT * FROM train_station WHERE stationid LIKE '%南';
    3. SELECT * FROM train_station WHERE stationid LIKE '%南%';

    练习:

    1. 查询所有用户信息,要求显示账号、姓名、密码、年龄、地址。
    2. 查询“阿猫”的账号、密码。
    3. 查询“u002”的姓名。
    4. 查询账号为“u004”,密码为“123”的用户;
    5. 查询年龄小于22岁的用户。
    6. 查询年龄在25-30岁之间的用户,要求显示账号、姓名、密码、年龄、地址。
    7. 查询含有“猫”的所有用户(所有信息)。
    8. 查询商品名为“梨”的商品, 要求显示商品编号、商品名称、类型、价格、库存、备注。
    9. 查询商品名包含“奥”子的所有商品,要求显示商品编号、商品名称、类型、价格、库存、备注。
    10. 查询所有商品信息,并按价格从小到大排序。
    11. 查询价格在5-10元之间的商品,并按从大到小排序。
    12. 查询年龄最大用户,显示他的姓名和年龄
    13. 查询年龄最小的5名用户,显示姓名和年龄。
    14. 删除年龄小于20岁的用户
    15. 查询类型为水果的所有商品,要求显示商品编号、商品名称、类型ID、类型名称、价格、库存、备注。
    16. 查询类型为水果的商品个数;
    17. 查询名称为“阿猫”的订单,要求显示订单编号、用户ID、商品ID、订单总价、订单时间、状态;
    18. 查询状态为“未付款”的订单,要求显示订单编号、用户ID、用户名称、商品ID、商品名称、购买数量、单价、订单总价、订单时间、状态;
    19. 查询状态为“已付款”的订单总金额。
      1. 1
      2. SELECT userid,username,password,age,address
      3. FROM tb_user
      4. 2
      5. SELECT userid,password
      6. FROM tb_user
      7. where tb_user.username='阿猫'
      8. 3
      9. SELECT username
      10. FROM tb_user
      11. where tb_user.userid='u002'
      12. 4
      13. SELECT username
      14. FROM tb_user
      15. where tb_user.userid='u004' and tb_user.password
      16. 5
      17. SELECT username
      18. FROM tb_user
      19. where tb_user.age <22
      20. 6
      21. select userid,username,password,age,address
      22. from tb_user
      23. where tb_user.age between 25 and 30
      24. 7
      25. select *
      26. from tb_user
      27. where tb_user.username like '%猫%'
      28. 8
      29. select a.goodsid,a.goodsname,b.typename,a.price,a.num,a.goodsinfo
      30. from tb_goods a
      31. inner join tb_type b on a.typeid = b.typeid
      32. where a.goodsname = '梨'
      33. 9
      34. select a.goodsid,a.goodsname,b.typename,a.price,a.num,a.goodsinfo
      35. from tb_goods a
      36. inner join tb_type b on a.typeid = b.typeid
      37. where a.goodsname like '%奥%'
      38. 10
      39. select *
      40. from tb_goods
      41. order by price
      42. 11
      43. select *
      44. from tb_goods
      45. where price between 5 and 10
      46. order by price
      47. 12
      48. select username,max(tb_user.age)'年龄'
      49. from tb_user
      50. 13
      51. select username,age'年龄'
      52. from tb_user
      53. order by tb_user.age
      54. limit 0,5
      55. 14
      56. delete from tb_user where tb_user.age < 20
      57. 15
      58. select a.goodsid,a.goodsname,a.typeid,b.typename,a.price,a.num,a.goodsinfo
      59. from tb_goods a
      60. inner join tb_type b on a.typeid = b.typeid
      61. where b.typename = '水果'
      62. 16
      63. select count(goodsid)
      64. from tb_goods a
      65. inner join tb_type b on a.typeid = b.typeid
      66. where b.typename = '水果'
      67. 17
      68. select a.orderid,a.userid,a.goodsid,a.money,a.ordertime,a.state
      69. from tb_order a
      70. inner join tb_user b on a.userid = b.userid
      71. where b.username = '阿猫'
      72. 18
      73. select a.orderid,a.userid,b.username,a.goodsid,c.goodsname,c.num,c.price,c.num*c.price 总价,a.ordertime,a.state
      74. from tb_order a
      75. inner join tb_user b on a.userid = b.userid
      76. inner join tb_goods c on a.goodsid = c.goodsid
      77. where a.state= '未付款'
      78. 19
      79. select sum(money)'总金额'
      80. from tb_order
      81. where state= '已付款'

    如有错误请指出哦,可能我不大细心没看到。练习就放这里,可以看看。 

  • 相关阅读:
    BeyondCorp 打造得物零信任安全架构
    Nosql数据库服务之redis
    CSS中position的属性有哪些,区别是什么
    【uniapp+vue3 】页面加载时根据不同角色设置导航栏标题
    API接口安全设计
    【16】基础知识:React路由 - React Router 6
    【Interaction交互模块】AngularJointDrive角度关节驱动
    poi 设置允许西文在单词中间换行
    12-2- DCGAN -简单网络-卷积网络
    leetcode148. 排序链表
  • 原文地址:https://blog.csdn.net/weixin_47314602/article/details/127594719