Java学习路程之数据库

1.数据库定义
数据库是一个文件保存数据,按照一定的规则(SQL语句)进行存储
数据库管理系统:可以对数据库进行增删改查(SQL语句)
2.SQL语句
标准SQL语句:所有数据库通用
SQL语句方言:数据库厂商会为自己的数据库提供特殊的语句
进入mysql命令:mysql -uroot -p
退出: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 image;
16.修改字段名
alter table tabtest change name nam varchar(10);
17.修改name字段的类型长度
alter table tabtest motify name varchar(50);
18.删除表
drop tanle tadtest;
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;

猜你喜欢

转载自blog.csdn.net/l710820742/article/details/82858677
今日推荐