MySql数据库的概念
一个应用对应一个数据库,数据库中可以存放多张不同的表结构,表里面存放的才是真正的数据,一个表中含有多个字段(字段和JavaBea的属性是对应的)
SQL(操作数据库)
结构化查询语言 (Structured Query Language),简称SQL。SQL是非过程性的语言,一条语言,就对应着一个返回结果。
SQL的分类:
1.DDL 数据库定义语言(操作数据库,表)
创建数据库,创建表,创建视图,创建索引,修改数据库,删除数据库,修改表,删除表
create--创建 alter--修改 drop--删除
2.DML 数据库操作语言(操作数据)
操作数据 插入数据(insert) 修改数据(update) 删除数据(delete)
3.DCL 数据库控制语言
if else while
4.DQL 数据库查询语言
从表中查询数据(select)
数据库的增删改查(CRUD)
创建数据库
创建数据库的语法
基本语法:create database 数据库名称;
其他语法:create database 数据库名称 character set 编码;
创建一个使用utf8字符集的mydb1数据库
create database mydb1 character set 'utf8';
查看数据库
show databases; --查看所有的数据库
show create database 数据库名称; --查询数据库的创建信息
use 数据库名称; --使用(切换)数据库
select database(); --查询当前正在使用的数据库
删除数据库
drop database 数据库名称; --删除数据库
数据类型
使用 MySql 数据库存储数据时,不同的数据类型决定了 MySql 存储数据方式的不同,MySql 数据库提供了多种数据类型。
-
字符串类型
varchar 长度可变,使用较多 name varchar(8) 存入数据hello后,name字段的长度自动转换为5 char 固定长度,不可变 name char(8) 存入数据hello后,用空格补全剩余位置
-
二进制大数据类型
BLOB 字节,二进制大数据 TEXT 字符,大文本数据
-
数值类型
tinyint smallint mediumint int bigint double float
-
时间日期类型
year 只包含年份 date 只包含日期,年月日 time 只包含时间,时分秒 datetime 包含日期和时间,若插入数据时,字段值为空,则显示为空 timestamp 时间戳,包含日期和时间,若插入数据时为空,默认获取当前系统时间
-
逻辑性
bit 在Java中是true或false 在数据库bit类型(1或者0)
表的约束
1.非空约束:not null
字段名 数据类型 not null;
2.唯一约束:unique --把某个字段声明成唯一的值
字段名 数据类型 unique;
3.主键约束:primary key
字段名 数据类型 primary key;
主键约束包含非空和唯一
4.默认约束:default
字段名 数据类型 default 默认值;
5.自动增加:auto_increment
字段名 数据类型 auto_increment;
只作用于整形数据
数据表的增删改查(CRUD)
创建表
创建表的语法:
create table 表名称(
字段1,数据类型,
字段2,数据类型,
...
字段n,数据类型
);
注意:1.创建表时,后面用小括号,且最后用分号结束。
2.编写字段时,字段之间使用逗号隔开,但是最后一个字段不能使用逗号。
3.声明字符串类型时,长度必须指定。
4.如不指定数据的长度,有默认值,int类型默认值为11。
查看数据表
show tables; --查看当前数据库中所有表,首先要进入到数据库中
desc 表名称; --查询表结构的详细信息
show create table 表名称; --查看表创建的信息
删除表
drop table 表名称; --删除表结构
修改表
添加新字段:
alter table 表名称 add 字段名 数据类型;
修改字段的数据类型:
alter table 表名称 modify 字段名 数据类型;
修改字段名:
alter table 表名称 change 旧字段名 新字段名 数据类型;
修改表名:
rename table 旧表名 to 新表名;
alter table 旧表名 rename as 新表名;
删除字段:
alter table 表名称 drop 字段名;
删除表:
drop table 表名;
修改字段的排列位置:
alter table 表名 modify 字段名 数据类型 first;
将该字段修改为表的第一个字段
alter table 表名 modify 字段1 数据类型 after 字段2;
将字段1插入到字段2的后面
转载:https://blog.csdn.net/weixin_45953259/article/details/105390592
查看评论