数据库简单操作
来源:互联网 发布:数据采集系统101data 编辑:程序博客网 时间:2024/06/16 07:26
MySQL数据库操作
数据保存
数据可以保存在内存、文件、软件,各自的优缺点:
数据保存在内存:优点: 存取速度快缺点: 数据不能永远保存!!!数据保存在文件:优点: 数据永远保存!!!缺点: 速度比内存操作慢,频繁的IO操作。查询数据不方便数据保存在软件: 1)数据永远保存!!! 2)速度比较快 3)查询和管理数据方便
MySQL数据库
开源产品。免费的。与java平台兼容性最好.中小企业(中小应用)
MySql的下载和安装可以网上查找。关于MySQL的可视化界面软件有Navicat for MySQL,SQLyog,可以很方便的进行建数据库和表,以及插入数据。
MySQL的结构: 先有数据库 -> 再有表 ->再有数据
管理数据库
首先看数据库管理软件中有哪些数据库:
SHOW DATABASES;
1. 创建数据库 testdb是创建的数据库名字:CREATE DATABASE 数据库名;如:
CREATE DATABASE testdb;
2. 使用某一个数据库,可以是: use 数据库名;如:
USE testdb;
3. 删除数据库:drop database 数据库名;
DROP DATABASE testdb;
管理数据库中的表(其中大写字母单词是在SQLyog中根据是否为系统关键字设置,大写的为系统默认的关键字)
创建(这里列名就是字段名称,这里为了便于理解,我使用列名表示,习惯了)
create table 表名(列名 类型,列名 类型,……);
如下,创建一个员工staff表:CREATE TABLE staff(id INT,NAME VARCHAR(20),gender VARCHAR(2),email VARCHAR(10),remark VARCHAR(50));
查看一个表结构:desc 表名; 以表格格式返回
DESC staff;
2. 删除 drop table 表名;
DROP TABLE staff;
3. 修改
alter table 表名 add(change、drop、change) column 列名 (类型视情况而定)
添加列
ALTER TABLE staff ADD COLUMN age INT;
修改列类型
ALTER TABLE staff MODIFY email VARCHAR(50);
修改列名称:这个操作改完之后,再把这一列改为gender;
ALTER TABLE staff CHANGE COLUMN gender sex VARCHAR(4); ALTER TABLE staff CHANGE COLUMN sex gender VARCHAR(4);
删除列
ALTER TABLE staff DROP COLUMN remark;
修改表名
ALTER TABLE staff CHANGE NAME username VARCHAR(20);
管理数据
查看表的数据
SELECT * FROM staff;
插入数据
INSERT INTO staff(id,username,gender,email,age) VALUES(1,'aaa','w','111@163.com',56);INSERT INTO staff(id,username,gender,age) VALUES(2,'bbb','m',19);INSERT INTO staff VALUES(3,'ccc','w','222@qq.com',34);INSERT INTO staff(id,username,gender) VALUES(4,'ddd','w');INSERT INTO staff(id,username,gender,age) VALUES(5,'aab','m',23);INSERT INTO staff(id,username,gender) VALUES(6,'eee','w');
修改数据
将所有人的年龄设置为10:UPDATE staff SET age=10;
将id为4的人的性别设置为m:
UPDATE staff SET gender='m' WHERE id=4;
将id为4的员工性别设置为ww,email为email@qq.com:
UPDATE staff SET gender='ww',email='email@qq.com' WHERE id=4;
删除数据
删除staff中的全部数据:DELETE FROM staff;
删除id=6的数据:
DELETE FROM staff WHERE id=6;
删除性别为w的数据:
DELETE FROM staff WHERE gender='w';
查询数据
查询指定列:
SELECT email,username FROM staff;
查询年龄大于30的员工的id,名字,年龄:
SELECT id,username,age FROM staff WHERE age>30;
查询年龄大于20,小于50的id,性别:
SELECT id,gender FROM staff WHERE age>20 AND age<50;
查询邮箱为null的id和性别:
SELECT id,gender FROM staff WHERE email IS NULL;
查询名字中有a的id,用户名:
SELECT id,username FROM staff WHERE username LIKE '%a%';
为了进行下面的查询,现在插入如下数据:
增加两列,语文和数学成绩:
ALTER TABLE staff ADD COLUMN chinese INT,ADD COLUMN math INT; UPDATE staff SET chinese=80,math=100 WHERE id=1; UPDATE staff SET chinese=76,math=90 WHERE id=2; UPDATE staff SET chinese=87,math=89 WHERE id=3; UPDATE staff SET chinese=87,math=78 WHERE id=4; UPDATE staff SET chinese=97,math=86 WHERE id=5; UPDATE staff SET chinese=77,math=89 WHERE id=6;
查询数学总成绩:
SELECT SUM(math) FROM staff;
查询语文的平均成绩:
SELECT AVG(chinese) FROM staff;
查询id大于1的学生的语文最高成绩:
SELECT MAX(chinese) FROM staff WHERE id>1;
查询数学最低成绩:
SELECT MIN(math) FROM staff;
员工的所有人数:
SELECT COUNT(*) FROM staff;
查询分组数据:
SELECT username,COUNT(*) FROM staff GROUP BY gender;
查询分组数据中分组的数量大于1:
SELECT username,COUNT(*) FROM staff GROUP BY gender HAVING COUNT(*)>1;
查询
查询第1,2,3条数据:
SELECT id,username ,gender FROM staff LIMIT 0,3;
查询第4,5,6条数据:
SELECT id,username ,gender FROM staff LIMIT 3,3;
查询所有数据,按照语文成绩倒序排列:
SELECT * FROM staff ORDER BY chinese DESC;
查询数学成绩大于80的所有数据,按数学成绩的倒序排:
SELECT * FROM staff WHERE math>80 ORDER BY math DESC;
查询时指定别名:
SELECT id AS '编号',username AS '姓名',gender AS '性别' FROM staff;
查询时进行相加计算,只能数字类型:
SELECT id '编号',username '姓名',(chinese+math)AS '总成绩' FROM staff;
删除数据:
区别:
delete from 和 truncate table 的区别?
1)delete from删除全部,也可以按条件删除,但是truncate table只能全表删除,不能按条件删除
2)delete from删除的数据可以回滚,truncate table删除的数据不能回滚。
3)delete from不可以把自增长约束(auto_increment)重置,truncate table可以把自增长约束(auto_increment)重置
TRUNCATE TABLE staff; DELETE FROM staff;
总结
凡是操作数据库,都加 DATABASE关键字;
凡是操作表的,都加TABLE关键字;
修改表的,加COLUMN关键字;使用ALTER;
进行数据的增删改查的,什么都不加,直接写具体的表名称;
INSERT INTO 表名……;
DELETE FROM 表名……;
UPDATE 表名 SET……;
SELECT …… FROM 表名……;
- 简单的数据库操作:
- Mysql数据库简单操作
- 简单Hibernate数据库操作
- 简单数据库操作类
- 简单的数据库操作
- Symbian数据库简单操作
- 简单数据库操作
- 简单数据库操作
- 数据库操作简单示例
- 简单的数据库操作
- 简单数据库操作 DBOper
- ios 数据库简单操作
- 数据库简单操作
- sqlite数据库简单操作
- db2 简单数据库操作
- c#数据库简单操作
- FMDB 数据库简单操作
- 数据库简单操作
- 探索 Docker bridge 的正确姿势,亲测有效!
- tomcat apache session粘性配置和session复制配置
- http
- Maximal Square
- zero-shot learning
- 数据库简单操作
- BZOJ4900 [CTSC2017]密钥
- 输出二叉树中的叶子节点
- maven系列--maven添加第三方、本地依赖
- 【算法题】最大的奇约数
- java异常分类
- MongoDB基础
- 浏览器兼容问题
- Spring配置组件扫描和自动装配