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 条件];

  • 注意事项:

***** 列名和值类型也要一致.

***** 值不能超过列的最大长度.

***** 值是字符串或日期,需要使用单引号.

学习心得

数据库操作不熟练,之前没有什么基础,需要多练习多 背,不求能掌握多深,但是得知晓最基础的用法。

标签

评论

this is is footer