MySQL学习总结

对数据库的操作

启动数据库 net start mysql

关闭数据库 net stop mysql

登录数据库 mysql -uroot -p123

sql分类:数据库定义语言DDL,数据库操纵语言DML,数据库查询语言DQL,数据库控制语言DCL

 

创建一个库

create database 库名;

create database 库名 character set 编码;

查看编码

show create database 库名;

删除一个库

drop database 库名;

使用库

use 库名;

查看当前正在使用的库

select database();

对数据库表的操作

创建一张表

create table 表名(

          字段名 类型(长度)约束,

          字段名 类型(长度)约束,

          字段名 类型(长度)约束

);

查看数据库所有的表

show tables;

查看表结构

desc 表名;

删除一张表

drop table 表名;

修改表

添加一列

alter table 表名 add 字段名 长度(类型) [约束];

修改列的类型(长度,约束)

alter table 表名 modify 字段名 长度(类型) [约束];

修改列名

alter table 表名 change 旧列名 新列名 类型(长度) [约束];

删除表的列

alter table 表名 drop 列名;

修改表名

rename table 表名 to 新表名;

修改表的字符集

alter table 表名 charater set 编码;

对数据库表进行操作

插入记录

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

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

插入数据中文乱码问题解决办法

set 列名 编码;

修改表记录

update 表名 set 字段名=值,字段名=值......;

update 表名 set 字段名=值,字段名=值...... where 条件;

删除表记录

delete from 表名 where 条件;

delete from 表名;           删除后id不会重置

面试题:说说delete和truntruncate的区别?

delete删除的时候是一条一条记录的删除,配合事物可以将数据找回

start transaction;

delete from 表名;

rollback;      找回数据

truncate删除时是将整个表先摧毁,然后再创建一张一模一样的表。它的删除无法找回

start transaction;

truncate table 表名;

rollback;      无法找回数据

delete删除id不会重置而truncate删除id会重置

查询操作

select distinct *|列名,列名...  from 表名 [where 条件];

简单查询

查询所有商品

select * from product;

查询商品名和商品价格

select  pname,price from product;

查询所有商品信息使用表别名

select * fro product as p;;

查询商品名使用列别名

select pname as p from product;

去掉重复的值(按照价格)

select distinct(price) from product;

将商品价格加10进行显示

select pname,price+10 from product;

查询商品名包含'士'字的商品信息

select * from product pname like '%士%';

查询商品id在(3,6,9)范围内所有商品信息

select * from product where pid in(3,6,9);

排序

查询所有商品,按价格进行排序(升序,降序)

select * from product order by price asc;

查询商品名包含'士'字,并且按价格进行降序排序

select * from product where pname like '%士%' order by price desc;

聚合函数

获得所有商品个数

select count(*) from product;

分组操作

根据cid进行分组,分组后进行统计商品的个数

select cid,count(*) from product group by cid;

根据cid进行分组,分组统计每组商品的平均价格,并且平均价格大于20000

select cid,avg(price) from product group by cid having avg(price)>20000;

select

from

where

group by

having

order by

 

JDBC

Class.forname("com.mysql.jdbc.Driver");

Connection conn=DriverManeger.getConnection("jdbc:mysql://localhost:3306/web01",username,password);

String sql="select * from tb_user where s_number=?";

PreparedStatement pstmt=conn.preparedStatement(sql);

pstmt.setString(1,"s123");

ResultSet rs=pstmt.executeQuery();

rs.next();

rs.getString(1);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值