目录
数据库基础核心操作:
进入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 '%南%';
练习:
- 查询所有用户信息,要求显示账号、姓名、密码、年龄、地址。
- 查询“阿猫”的账号、密码。
- 查询“u002”的姓名。
- 查询账号为“u004”,密码为“123”的用户;
- 查询年龄小于22岁的用户。
- 查询年龄在25-30岁之间的用户,要求显示账号、姓名、密码、年龄、地址。
- 查询含有“猫”的所有用户(所有信息)。
- 查询商品名为“梨”的商品, 要求显示商品编号、商品名称、类型、价格、库存、备注。
- 查询商品名包含“奥”子的所有商品,要求显示商品编号、商品名称、类型、价格、库存、备注。
- 查询所有商品信息,并按价格从小到大排序。
- 查询价格在5-10元之间的商品,并按从大到小排序。
- 查询年龄最大用户,显示他的姓名和年龄
- 查询年龄最小的5名用户,显示姓名和年龄。
- 删除年龄小于20岁的用户
- 查询类型为水果的所有商品,要求显示商品编号、商品名称、类型ID、类型名称、价格、库存、备注。
- 查询类型为水果的商品个数;
- 查询名称为“阿猫”的订单,要求显示订单编号、用户ID、商品ID、订单总价、订单时间、状态;
- 查询状态为“未付款”的订单,要求显示订单编号、用户ID、用户名称、商品ID、商品名称、购买数量、单价、订单总价、订单时间、状态;
- 查询状态为“已付款”的订单总金额。
-
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= '已付款'
如有错误请指出哦,可能我不大细心没看到。练习就放这里,可以看看。