Java - MySQL(基础和约束)

数据库:

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

数据库的好处: 方便 , 高效 , 安全 .

数据库管理系统:

指一种操作和管理数据库的大型软件,用于建 立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。

数据库与数据库管理系统的关系:
这里写图片描述


数据库表和java中类的对应关系:

数据库有一张表 - - - > java中有一个类(JavaBean)
Student表 - - - > Student 类
表 中 的列 - - - > 类中的成员变量
表 中 的行 - - - > 根据类创建的对象.

DOS窗口命令:

1.MySQL启动和停止(以管理员身份)
    net start mysql - - - 启动MySQL
    net stop mysql - - - 关闭MySQL
2. 登录MySQL数据库
    mysql    -u用户名     -p密码
3.重置MySQL数据库密码
这里写图片描述
这里写图片描述
4.修改当前窗口的编码:
   set names gbk;


SQL语句

1.数据库操作: database
   create database 库名 ; # 创建数据库
   drop database 库名 ; # 删除数据库
   use 库名 ; # 使用数据库
   show databases ; # 查看所有的数据库 .
   show create database 数据库名 ; # 查看某个数据库的定义信息.
   select 数据库 ; # 查看正在使用的数据库 .


2.表操作: table
   create table 表名 ( # 创建表 .
      字段名 , 数据类型(长度) [约束],
      字段名 , 数据类型(长度) [约束],
      ….. # 注: 最后一个不写 逗号(,)
   );
   show tables ; # 查看库中所有的表 .
   desc 表名 ; # 查看表结构 .
   drop table 表名 ; # 删除表
   rename table 表名 to 新表名 .


3.修改表结构:alter table 表名
   添加列: alter table 表名 add 列名 类型(长度);
   修改列的类型及长度: alter table 表名 modify 列名 类型(长度) ;
   修改列名: alter table 表名 change 旧列名 新列名 类型(长度);
   删除列: alter table 表名 drop 列名 ;


数据操作: (重点)
a . 插入数据: insert
   - - 向表中插入某些字段 ,
   insert into 表 (字段1,字段2,字段3..) values (值1,值2,值3..);
   - - 向表中插入所有的字段 . (顺序要和表中顺序一样. )
   insert into 表 values (值1,值2,值3..);
   注意 : 表中值除数值类型外 , 其他要用单引号引起来 .
b . 更新表数据: update
      update 表名 set 字段名 = 值 , 字段名 = 值 , [ where 条件 ]
c . 删除数据: delete
      delete from 表名 [where 条件]; 主键不会重置, 继续之前的记录值 .
      truncate table 表名 ; 把表删除 , 重新建表 , 再添加数据 , 主键从0开始 .


SQL约束

a.主键约束: PRIMARY KEY
    约束列中的数据即不能为空,又不能重复
   主键必须包含唯一的值。
   1. 每个表都应该有一个主键,并且每个表只能有一个主键
   2. 主键的数据类型,在mysql数据一般都是 int类型,方便自增
b. 自动增长列: auto_increment
   自动增长类型必须是 整形 ,
   自动整长列必须为键(一般为主键).
   默认开始值是1 , auto_increment = 100 - - > .修改起始值.
c. 非空约束: not null
   NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
d. 唯一约束: unique
e. 默认约束: default 默认值 ’ ‘;


案例:

-- 创建一个数据库 
CREATE DATABASE day01;

-- 1.创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话
USE day01; 
CREATE TABLE student(
    sid INT PRIMARY KEY AUTO_INCREMENT, -- 学号 , 主键约束 , 自动增长.
    sname VARCHAR(20) NOT NULL, -- 姓名 
    sage INT NOT NULL, -- 年龄 
    ssex VARCHAR(10), -- 性别 
    saddress VARCHAR(20), -- 家庭住址. 
    stelephone DOUBLE UNIQUE  -- 联系电话 , 唯一 .
);

-- 2.向表中添加数据 . 
INSERT INTO student VALUES(NULL , '张三' , 22 , '男' , '北京市昌平区' , '23678923878');
INSERT INTO student VALUES(NULL , '李四' , 22 , '女' , '北京市朝阳区' , '12345678910');
INSERT INTO student VALUES(NULL , '王五' , 12 , '男' , '北京市海淀区' , '23456434332'); 

-- 修改表中数据 .
UPDATE student  SET sage=45,ssex='女' WHERE sname='王五';

-- 删除表中数据. 
DELETE FROM student WHERE sage = 22; 

-- 3.修改学生表的结构,添加一列信息,学历
ALTER TABLE student ADD education VARCHAR(8);

-- 4.修改学生表的结构, 删除一列信息, 家庭住址.
ALTER TABLE student DROP saddress;

-- 5.修改学生表的结构, 修改列的类型长度 ,
ALTER TABLE student MODIFY education VARCHAR(20);
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值