目录

数据库基础核心操作:

 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

举个例子: 

CREATE TABLE train_user( 
userid VARCHAR (100) PRIMARY KEY,
username VARCHAR(100) NOT NULL,
psw INT,
sex VARCHAR(20),
money DOUBLE,
id VARCHAR(100),
phone VARCHAR(100),
photo VARCHAR(200),
createtime datetime
);

INSERT into train_user(userid,username,psw,sex,money,id,phone,photo,createtime)VALUES
('user1','肖战',123,'男',100.01,'12345678901','12222222222','c1.jpg','2001-01-18 10:20:12'),
('user2','白鹿',123,'女',100.10,'12345678901','12222222222','c1.jpg','2001-01-18 10:20:12'),
('user3','杨紫',123,'女',100.83,'098765432345','12222222222','c1.jpg','2001-01-18 10:20:12'),
('user4','胡歌',123,'男',100.23,'098765432345','12222222222','c1.jpg','2001-01-18 10:20:12'),
('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 列=值;

UPDATE train_user SET psw = 123456 WHERE userid = 'user3';

UPDATE train_number SET num = 200,money = 300 WHERE number = 'D6208';

UPDATE train_number SET endstationid = '厦门北' WHERE number = 'D6237';

UPDATE train_station SET stationinfo = '厦门北' WHERE stationid = '厦门北';

10、删除数据

    delete from 表名 where 列 = 值;

delete from tb_user where tb_user.age < 20

11、查询数据

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

SELECT * FROM train_station;

select userid,username,userage from usertable where userid = 01;

注意点:模糊查询like

SELECT * FROM train_station WHERE stationid LIKE '南%';
SELECT * FROM train_station WHERE stationid LIKE '%南';
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、
SELECT userid,username,password,age,address
FROM tb_user

2、
SELECT userid,password
FROM tb_user
where tb_user.username='阿猫'

3、
SELECT username
FROM tb_user
where tb_user.userid='u002'

4、
SELECT username
FROM tb_user
where tb_user.userid='u004' and tb_user.password

5、
SELECT username
FROM tb_user
where tb_user.age <22

6、
select userid,username,password,age,address
from tb_user
where tb_user.age between 25 and 30

7、
select *
from tb_user
where tb_user.username like '%猫%'

8、
select a.goodsid,a.goodsname,b.typename,a.price,a.num,a.goodsinfo
from tb_goods a
inner join tb_type b on a.typeid = b.typeid
where a.goodsname = '梨'

9、
select a.goodsid,a.goodsname,b.typename,a.price,a.num,a.goodsinfo
from tb_goods a
inner join tb_type b on a.typeid = b.typeid
where a.goodsname like  '%奥%'

10、
select *
from tb_goods
order by price 

11、
select *
from tb_goods
where price between 5 and 10
order by price 

12、
select username,max(tb_user.age)'年龄'
from tb_user

13、
select username,age'年龄'
from tb_user
order by tb_user.age
limit 0,5

14、
delete from tb_user where tb_user.age < 20

15、
select a.goodsid,a.goodsname,a.typeid,b.typename,a.price,a.num,a.goodsinfo
from tb_goods a
inner join tb_type b on a.typeid = b.typeid
where b.typename = '水果'

16、
select count(goodsid)
from tb_goods a
inner join tb_type b on a.typeid = b.typeid
where b.typename = '水果'

17、
select a.orderid,a.userid,a.goodsid,a.money,a.ordertime,a.state
from tb_order a
inner join tb_user b on a.userid = b.userid
where b.username = '阿猫'


18、
select a.orderid,a.userid,b.username,a.goodsid,c.goodsname,c.num,c.price,c.num*c.price 总价,a.ordertime,a.state
from tb_order a
inner join tb_user b on a.userid = b.userid
inner join tb_goods c on  a.goodsid = c.goodsid
where a.state= '未付款'

19、
select sum(money)'总金额'
from tb_order 
where state= '已付款'

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