Java学习路程之数据库

1.数据库定义
数据库是一个文件保存数据,按照一定的规则(SQL语句)进行存储
数据库管理系统:可以对数据库进行增删改查(SQL语句)
2.SQL语句
标准SQL语句:所有数据库通用
SQL语句方言:数据库厂商会为自己的数据库提供特殊的语句
进入mysql命令:mysql -uroot -p
进入别人的电脑登录方法:mysql -h 127.0.0.1 -uroot -p123456
退出:quit;
注意:每一个SQL语句都是以分号结束的,SQL语句不区分大小写
3.DDL语句(修改数据库和表结构)
1.查询当前所有的数据库
show databases;
2.创建数据库(使用系统默认的字符集)
CREATE DATABASE testdb;
3.查看数据库的字符集
SHOW CREATE DATABASE testdb;
4.修改已创建成功的字符集
ALTER DATABASE testdb CHARACTER SET utf8;
##5.创建数据库时指定字符集
CREATE DATABASE testdbb CHARACTER SET gbk;
6.通过修改mysql配置文件修改默认字符集
windows bin文件夹下 my.ini
Mac:前往文件夹/etc下my.cnf
7.删除数据库
DROP DATABASE testdbb;
8.查看当前数据库支持的编码格式
##第二列是编码格式,第三列是该编码格式的矫正规则
SHOW CHARACTER SET;
9.创建数据库指定字符集并设置对应的校验规则
注意:字符集要与对应的规则对应
CREATE DATABASE testdbb CHARACTER SET gbk COLLATE gbk_chinese_ci;
10.切换使用的数据库(先使用数据库才能在该数据库下创建表)
USE testdb;
11.查看当前使用的数据库
SELECT DATABASE();
12.在数据库中创建表
CREATE TABLE tabtest(
Id INT,
name VARCHAR(10),
gender VARCHAR(10),
birthday date,
Entry_date date,
job VARCHAR(10),
Salary DOUBLE,
resume text
);
13.查看表细节(表中字段)
desc tabtest;
14.给表添加一个字段 image blob
alter table tabtest add image blob;
15.删除表中image字段
alter table tabtest drop column image;
16.修改字段名
alter table tabtest change name nam varchar(10);
17.修改name字段的类型长度
alter table tabtest motify name varchar(50);
18.删除表
drop table tadtest;
19.修改表名
rename table testtab to tab;
4.
DML语句(操作表数据)
1.插入数据
单条插入:
INSERT INTO tabtest (Id, name, gender, birthday, Entry_date, job, Salary, resume)
VALUES (1, ‘李四’, ‘男’, ‘1994-10-12’, ‘2016-4-6’, ‘销售’, 4000, ‘嘿嘿’);
INSERT INTO tabtest (Id, name, gender, birthday, Entry_date, job, Salary, resume)
VALUES (1, ‘张三’, ‘男’, ‘1994-1-12’, ‘2016-4-6’, ‘销售’, 4000, ‘嘿嘿’);
INSERT INTO tabtest (Id, name, gender, birthday, Entry_date, job, Salary, resume)
VALUES (1, ‘王伟’, ‘男’, ‘1994-10-2’, ‘2016-4-6’, ‘销售’, 4000, ‘嘿嘿’);
多条插入:
INSERT INTO tabtest VALUES (1, ‘李四2’, ‘男’, ‘1994-10-12’, ‘2016-4-6’, ‘销售’, 4000, ‘嘿嘿’),
(1, ‘张三2’, ‘男’, ‘1994-1-12’, ‘2016-4-6’, ‘销售’, 4000, ‘嘿嘿’), (1, ‘王伟2’, ‘男’, ‘1994-10-2’, ‘2016-4-6’, ‘销售’, 4000, ‘嘿嘿’);
SELECT * FROM tabtest;
2.修改数据
将所有员工薪水修改为5000元。
UPDATE tabtest SET salary=5000;
SELECT * FROM tabtest;
将姓名为’李四’的员工薪水修改为3000元
UPDATE tabtest SET salary=3000 WHERE name=‘李四’;
将姓名为’李四’的员工薪水修改为8000元,gender改为f。
UPDATE tabtest SET salary=6000, gender=‘f’ WHERE name=‘李四’;
将李四的薪水在原有基础上增加1000元。
UPDATE tabtest SET salary=salary+1000 WHERE name=‘李四’;
3.删除操作 delete
删除表中名称为’李四’的记录。
DELETE FROM tabtest WHERE name=‘李四’;
删除表中所有记录。
DELETE FROM tabtest;

创建表
CREATE TABLE stu (
sid CHAR(6),
sname VARCHAR(50),
age INT,
gender VARCHAR(50)
);
INSERT INTO stu VALUES(‘S_1001’, ‘liuYi’, 35, ‘male’);
INSERT INTO stu VALUES(‘S_1002’, ‘chenEr’, 15, ‘female’);
INSERT INTO stu VALUES(‘S_1003’, ‘zhangSan’, 95, ‘male’);
INSERT INTO stu VALUES(‘S_1004’, ‘liSi’, 65, ‘female’);
INSERT INTO stu VALUES(‘S_1005’, ‘wangWu’, 55, ‘male’);
INSERT INTO stu VALUES(‘S_1006’, ‘zhaoLiu’, 75, ‘female’);
INSERT INTO stu VALUES(‘S_1007’, ‘sunQi’, 25, ‘male’);
INSERT INTO stu VALUES(‘S_1008’, ‘zhouBa’, 45, ‘female’);
INSERT INTO stu VALUES(‘S_1009’, ‘wuJiu’, 85, ‘male’);
INSERT INTO stu VALUES(‘S_1010’, ‘zhengShi’, 5, ‘female’);
INSERT INTO stu VALUES(‘S_1011’, ‘xxx’, NULL, NULL);
查询性别为女,并且年龄大于50的记录
SELECT * FROM stu WHERE gender=‘female’ AND age > 50;
查询学号为S_1001,或者姓名为liSi的记录
SELECT * FROM stu WHERE sid=‘S_1001’ OR sname=‘lisi’;
查询学号为1,2,3的记录
SELECT * FROM stu WHERE sid IN(‘S_1001’, ‘S_1002’, ‘S_1003’);
SELECT * FROM stu WHERE sid=‘S_1001’ OR sid=‘S_1002’ OR sid=‘S_1003’;
查询年龄为null的记录
SELECT * FROM stu WHERE age IS NULL;
SELECT FROM stu WHERE NOT age IS NOT NULL;
##查询年龄在20到40之间的学生记录
SELECT * FROM stu WHERE age between 20 AND 40;
查询性别非男的学生记录
SELECT * FROM stu WHERE gender!=‘male’;
SELECT * FROM stu WHERE gender<>‘male’;
查询姓名不为null的学生记录
SELECT * FROM stu WHERE sname IS NOT NULL;
SELECT * FROM stu WHERE NOT sname IS NULL;
5.DCL语句
用来定义数据库的访问权限和安全级别,及创建用户。
创建用户可以访问数据库
create user 用户名@‘ip’ identified by ‘密码’;指定ip访问
create user 用户名@’%’ identified by ‘密码’;不指定ip
访问
给用户权限:
grant 权限(select/delete/update) on 数据库名.
to 用户名@‘ip’;
撤销权限:
revoke 权限 on 数据库名.* from 用户名@‘ip’;
删除用户:
drop user 用户名@‘ip’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值