JAVAWEB学习总结,DAY1(MySql基础)

数据库的介绍

数据库:存储数据的创库,本质是一个文件系统,数据库按照特定的格式将数据存储起来,用户可以堆数据库中的数据进行添加,修改,删除及查询操作。

CMD登录格式

  1. mysql -u用户名 -p密码
  2. mysql -hip地址 -u用户名 -p密码 ----可以远程连接
  3. mysql --host=ip地址 --user=用户名 --password=密码 —可以远程连接

CMD退出MySQL:exit/quit

数据的存储方式

  1. 数据保存在内存:优点:内存速度快。缺点:断电/程序退出,数据就清除了。
  2. 数据保存在普通文件:优点:永久保存。缺点:查找,添加,修改,删除数据比较麻烦,效率低。
  3. 数据保证在数据库:优点:永久保存,通过SQL语句比较方便的操作数据库。

常见的数据库
Ø Oracle:Oracle公司收费的大型数据库软件。通常用于大型系统
Ø SQLServer:Microsoft公司的收费的大型数据库软件。通常是.net的系统使用SQLServer。 c#
Ø DB2:IBM公司的大型的收费数据库软件。银行、金融项目使用DB2比较多
Ø Sybase:目前已经逐步退出历史舞台,但是提供了一个强大的数据库建模工具PowerDesigner
Ø MySql:Oracle公司的小型收费/免费的数据库软件,通常小型项目会使用MySql

使用MySql服务管理
Ø 通过Windows的服务管理来操作MySql服务
windows+R–>输入:services.msc–>找到MySQL服务(可以设置开机启动Mysql,也可以打开/关闭MySql)
右键–>启动:开启MySql服务,开启之后就可以登录MySql,访问操作MySql了
右键–>停止:关闭MySql服务
Ø 在(管理员运行)cmd里使用命令来启动/关闭MySql服务(以管理员方式打开/关闭Mysql)
开启:net start mysql
关闭:net stop mysql

结论:

  1. 一个数据服务器可以创建多个数据库,一个数据库可以创建多张表,一张表可以存储多条记录
  2. 创建数据库的原则:一个应用程序对应一个数据
  3. 创建表的原则:一个实体类对应一张表
  4. 创建记录的原则:一个对象对应表中一条记录
  5. 列:字段 行:记录

SQL语言

SQL的概述
SQL:structure query language,结构化查询语言。是数据库提供的,用来操作数据库的语法。
标准SQL和SQL方言之分:
标准SQL:标签的SQL规范
SQL方言:不同数据库有一些个性化的内容,操作方式也有一些区别

SQL的功能分类:
Ø DDL:Data Definition Language,数据定义语言,主要是用来定义database、table、column。常见的:create、alter、drop等等(对数据库和对表进行增、删、查、改的合称)
Ø DML:Data Manipulation Language,数据操作语言,主要是用来插入、修改、删除数据/记录。常见的:insert、update、delete
Ø DQL:Data Query Language,数据查询语言,主要是用来查询数据的。常见:select
Ø DCL:Data Controller Language,数据库控制语言,主要是用来管理数据库用户、权限等等,通常是DBA来使用的(DataBase Administrator 数据库管理员)。常见的:grant(授权),revoke(撤回,取消)
Ø TCL(Transaction Control Language) 事务控制语言,用于控制数据库的事务操作,

SQL通用语法:

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. 可使用空格和缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  4. 3种注释 单行注释: – 注释内容 或 # 注释内容(mysql特有) 多行注释: /* 注释 */

DDL-操作 database
创建数据库:

  1. 直接创建数据库
    CREATE DATABASE 数据库名;
  2. 判断是否存在并创建数据库
    CREATE DATABASE IF NOT EXISTS 数据库名;
  3. 创建数据库并指定字符集(编码表)
    CREATE DATABASE 数据库名 CHARACTER SET 字符集;

查看数据库:
1.查看所有的数据库
SHOW databases;
2.查看某个数据库的定义信息
SHOW CREATE DATABASE 数据库名;

修改数据库:
修改数据库字符集格式
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

删除数据库:
DROP DATABASE 数据库名;

使用数据库
1.查看正在使用的数据库
SELECT DATABASE();
2.使用/切换数据库
USE 数据库名;

DDL-操作 TABLE
关键字:CREATE – 表示创建 TABLE – 表示创建一张表
MySql 的数据类型
Ø int: 整型。对应Java的int
Ø double(m,d):双精度小数,m表示数字的总位数,d表示小数位。double(5,2)最大范围:999.99。对应Java的double
Ø char(n):固定长度字符串,最大可以保存n位。char(5)类型,保存”abc”,存储的是”abc ”。对应Java的String
Ø varchar(n):可变长度字符串,最大可以保存n位。varchar(5)类型,保存“abc”,存储的就是”abc”。对应Java的String
Ø date:日期类型。对应Java的java.sql.Date
Ø datetime:日期时间类型 yyyy-MM-dd HH:mm:ss。可以保存1000~9999年的范围,对应的Java的java.sql.Timestamp,java.sql.Date。
Ø timestamp:时间戳类型 yyyy-MM-dd HH:mm:ss。可以保存1970~2038年的范围。对应的Java类型是java.sql.Timetsamp

创建表:
CREATE TABLE 表名(
字段名1 字段类型1,
字段名2 字段类型2,

);

查看表
1.查看某个数据库中的所有表
SHOW TABLES;
2.查看表结构
DESC 表名;
3.查看创建表的SQL语句
SHOW CREATE TABLE 表名;

删除表
1.直接删除表
DROP TABLE 表名;
2.判断表是否存在并删除表
DROP TABLE IF EXISTS 表名;

修改表结构
1.重命名表
RENAME TABLE 表名称 TO 新名称
2.添加字段
ALTER TABLE 表名称 ADD 字段名 字段类型()
3.修改字段名称
ALTER TABLE 表名称 CHANGE 字段名 新字段名 字段类型()
4.修改字段类型
ALTER TABLE 表名称 MODIFY 字段名 字段类型()
5.删除字段
ALTER TABLE 表名称 DROP 字段名

DML-操作数据
关键字:URDATE – 修改数据 SET – 修改哪些字段 WHERE – 指定条件
插入数据
语法:INSERT INTO 表名称 (字段1,字段2,…) VALUES (值1,值2,…)
注意:
前边有几个字段,后边就要有几个值
插入的值必须要符合字段类型的精度要求。比如有字段varchar(5),插入值:程序员41期
值可以字符串类型,插入任意数据
语法:INSERT INTO 表名称 VALUES (值1,值2,…);
是给表里所有字段插入数据。插入数据时需要注意:值的顺序必须和字段的顺序一样

修改数据
语法
UPDATE 表名称 SET 字段1=值1,字段2=值2,…[WHERE 条件]

删除数据
语法
DELETE FROM 表名称 [WHERE 条件]:数据库底层会一条一条删,效率低,但是可以加WHERE条件
语法
TRUNCATE 表名称:数据库会把整个表数据一次性清除掉,效率高,但是不能加WHERE条件

DQL 查询数据 (重点
基本查询
1.查询全部
SELECT * FROM 表名称
2.查询指定列
SELECT 字段1,字段2,…FORM 表名称
3.查询并运算
SELECT 字段1+值,字段2-值,字段3*值,…FROM 表名称
4.查询并空值处理
SELECT IFNULL(字段,为空的值)+值,字段2,字段3,…FROM 表名称
5.查询并起别名
SELECT IFNULL(字段,为空的值)+值 AS 别名1,字段2 别名2 FROM 表名称
6.查询并去重
SELECT DISTINCT 字段1,字段2,…FROM 表名称
说明:DISTINCT 手边所有的字段的值都一样,才是重复值,需要去掉的

条件查询
语法
基本查询 WHERE 条件
条件
比较:>,<,>=,<=,=,<>
范围:字段名 BETWEEN … AND … 包含头和尾
集合:字段名 IN (值1,值2,…)
模糊查询:字段 LIKE ‘石%’ :%表示任意个任意字符;_表示有一个任意字符
多条件连接
AND:多条件同时生效
OR:多条件中任意一个条件符合即可
NOT(条件):排除掉符合这个条件的

中文乱码:set names gbk;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值