1、命令行连接数据库
mysql -uroot -pspace999
2、sql注释 --单行 /**/多行
3、所有的语句使用分号;结尾
show database; -- 查看所有的数据库
use 数据库名; -- 切换数据库
show tables; -- 查看库中所有的表
describe student; -- 显示数据库中所有的表的信息
create database westos; -- 创建一个数据库
4、创建数据库
create database [if not exists] tablename;
删除数据库
drop database [if exists] tablename;
5、数据库列类型
数值:
tinyint 十分小的数据 1个字节
smallint 较小的数据 2个字节
mediumint 中等大小的数据 3个字节
【【int 标准的整数 4个字节 常用】】
bigint 较大的数据 8个字节
float 浮点数 4个字节
double 浮点数 8个字节
decimal 字符串形式的浮点数 金融计算的时候使用
字符串:
char 字符串固定大小 0-255
【【varchar 可变长字符串 0-65535】】
tinytext 微型文本 2^8-1 一篇博客差不多够了
text 文本串 2^16-1 一本书
时间日期
date YYYY-MM-DD 日期格式
time HH:mm:ss 时间格式
【【datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式】】
【【timestamp 时间戳 1970.1.1至今毫秒数】】
Null
6、数据库的字段属性
Unsigned:无符号的整数 该列不能声明为负数
zerofill : 0填充的 不足的位数使用0来填充
自增: 通常理解为自增,自动在上一条记录的基础上+1(默认)
同来用来设计唯一的主键 index,必须是整数类型
非空: NULL not NULL
默认: 设置默认的值 如果设定完一个默认值,不填充也会有值。
7、每一个表都必须存在以下五个字段,做项目使用,表示一个记录存在的意义
id 主键
‘version’ 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
8、AUTO_INCREMENT 自增
PRIMARY_KEY 主键
--comment注解 告诉别人这个字段是干什么用的
create table if not exists `student`(
`id` int(4) not null AUTO_INCREMENT COMMENT '学号',
`name` varchar(30) not null default '匿名' COMMENT '姓名',
`pwd` varchar(20) not null default '123456' COMMENT '密码',
`address` varchar(100) default null COMMENT '家庭地址'
PRIMARY KEY(`id`) --指定主键是谁
)ENGINE=INNODB DEFAULT CHARSET=utf8
9、查看创建数据库的语句
show create database basename;
查看创建表的语句
show create table tablename;
显示表的结构
desc tablename
10、关于数据库的引擎
11、
12、注意点:
`` 所有的字段名使用这个符号包裹
注释 -- /**/
sql关键字大小写不敏感,建议写小写
所有的符号全部英文
13、插入语句
14、修改
<> 或者 != 不等于
15、删除 delete命令
16、DML语言
数据库意义:数据存储,数据管理
DML语言:数据操作语言
insert update delete、
17、truncate命令 清空数据库表
delete和truncate都可以清空表,但是他们有什么区别呢:
delete清空的表,自增的那一列还是在最后的位置,不会重新技术
而truncate清空的表,自增的那一列重新归零开始。
delete删除问题:重启数据库 数据库这两个引擎会发生的现象
InnoDB:自增列会从1开始(因为数据是存在内存当中的,断电就消失了)
MyISAM:继续从上一个自增量开始,相当于断电重启也没有用(因为数据是存在文件中的,不会丢失)
18、DQL语言 数据查询语言 最重要的一部分
所有的查询操作都用它 select
简单查询,不关联表不分页查询:
19、模糊查询
like % _ (%在like里面使用)
精确查询
in 在什么什么里面 (in的是具体的一个或多个值 不能模糊 不能用%_)
你想查询某个字符串中包含某个字就使用like
你要在多条结果之中查询某个东西就用in
null not null
2020-06-02