20200924赵鑫
学习总结
SQL分类:
DDL:数据定义语言
* create,alter,drop...
DML:数据操纵语言
* update,insert,delete
DCL:数据控制语言
* grant,if..
DQL:数据查询语言
* select
数据库增删查改
创建数据库:语法:create database 数据库 [character 字符集 collate 校对规则]
查看数据库:
查看所有数据库:show databases;
查看某个数据库:show create database 数据库名;
修改数据库:语法:alter database 数据库名 character 字符集 collate 校对规则
删除数据库:语法:drop database 数据库名;
切换数据库:use 数据库名;
查看当前使用数据库:select database();
数据库表操作
创建表语法:
create table 表名 (
字段名 类型(长度) 约束,
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);
数据类型:
Java类型: MySQL:
byte/short/int/long tinyint/smallint/int/bigint
String char/varchar
* 区别?char是固定长度的字符串,varchar可变长度的字符串.
* char(8) 和 varchar(8)
* 如果插入一个字符串hello 插入到char 那么 插入hello .插入到varchar中 插入hello
float float
double double
boolean bit
Date date/time/datetime/timestamp
* datetime和timestamp都是既有日期又有时间的日期类型
* 区别 datetime需要使用外部传入的日期.如果没传这个值就是Null. timestamp会使用系统当前的时间作为这个值的默认值.
文本文件 Text
二级制文件 BLOB
***** Oralce使用CLOB/BLOB
-
MYSQL 中除了字符串类型需要设置长度其他的类型都有默认长度
-
约束:
单表约束:
* 主键约束:primary key (默认就是唯一非空的)
* 唯一约束:unique
* 非空约束:not null
- 创建一个表:
- ***** 创建表之前先选择数据库:use 某个数据库;
create table employee(
eid int primary key auto_increment,
ename varchar(20) not null,
email varchar(30) unique,
birthday date,
job varchar(20),
resume text
);
【表的查看】
- 查看数据库中有哪些表:
* show tables;
- 查看表结构:
* desc 表名;
【表的删除】
-
表的删除:
drop table 表名;
【表的修改】
- 修改表添加列:
*** alter table** 表名 add 列名 类型(长度) 约束;
* alter table employee add image varchar(50);
- 修改表删除列:
*** alter table** 表名 drop 列名;
* alter table employee drop job;
- 修改表的列的类型长度及约束:
*** alter table** 表名 modify 列名 类型(长度) 约束;
* alter table employee modify image varchar(80) not null;
- 修改表的列名
*** alter table** 表名 change 旧列名 新列名 类型(长度) 约束;
* alter table employee change image eimage varchar(60);
- 修改表名
*** rename table** 旧表名 to 新表名;
* rename table employee to user;
- 修改表的字符集:
*** alter table** 表名character set 字符集;
* alter table user character set gbk;
使用SQL操作数据库中的表的记录(对表的记录的CRUD的操作)
【插入记录】
- 语法
*** insert into** 表名 (列名,列名,...) values (值1,值2,...); ---插入指定列的值
*** insert into** 表名 values (值1,值2,...); ---插入所有列的值
- 注意事项:
***** 列名的个数与值的个数对应.
***** 列的类型与值的类型对应.位置也要对应.
***** 列的类型如果是字符串或者日期,写值的时候使用单引号将值引起来.
***** 插入的值的最大长度不能超过列的最大长度.
【修改记录】
- 语法:
*** update** 表 set 列名=值,列名=值 [where 条件];
- 注意事项:
***** 列名和值类型也要一致.
***** 值不能超过列的最大长度.
***** 值是字符串或日期,需要使用单引号.
学习心得
数据库操作不熟练,之前没有什么基础,需要多练习多 背,不求能掌握多深,但是得知晓最基础的用法。
评论留言