数据库
表--->数据
1.SQL语句可以单行或多行书写,以分号结尾
2.SQL语句可以使用空格/缩进来增强语句的可读性
3.MySQL数据库的SQL语句不区分大小写
4.- 单行注释:-- 注释内容?? 或?? # 注释内容(MySQL特有)
- 多行注释: /* 注释内容 */
Data Definition? Language数据定义语言,用来定义数据库对象(数据库,表,字段)
Data Manipulation? Language数据操作语言,用来对数据库表中的数据进行增删改
Data Query Language 数据查询语言,用来查询数据库中表的记录
Data Control? Language数据控制语言,用来创建数据库用户、控制数据库的访问权限
查询所有数据库--->show databases;
查询当前数据库--->select database();
创建数据库--->create database [ if not exists ] 数据库名;
使用数据库--->use 数据库名 ;
删除数据库--->drop database [ if exists ] 数据库名 ;
create table? 表名()
<1.添加字段:alter table 表名? add? 字段名? 类型(长度)? [comment? 注释]? [约束];
<2.修改字段类型:alter table 表名 modify? 字段名? 新数据类型(长度);
<3.修改字段名和字段类型:alter table 表名 change? 旧字段名? 新字段名? 类型 (长度)? [comment 注释]? [约束];
<4.删除字段:alter table 表名 drop? column 字段名;
<5.修改表名: rename table 表名 to? 新表名;
<1.删除表:drop table [ if exists ] 表名;
<2.在删除表时,表中的全部数据也会被删除。
<1.查询当前数据库所有表??? show tables;
<2.查看指定表结构??? desc 表名 ;
<3.查询指定表的建表语句??? show create table 表名 ;
tinyint小整数值(1字节)
int大整数值(4个字节)
bigint8字节正数
double双精度浮点数值double(5,2)最长五位,其中两位小数,最大值是999.99
unsign 声明一个字段为无符号
char定长字符串(需要指定长度)浪费空间,但是相对效率高
varchar变长字符串(需要指定长度)节约空间,效率稍低
date年月日
datetime年月日时分秒
<1.非空约束?? ?限制该字段值不能为null?? ?not? null
<2.唯一约束?? ?保证字段的所有数据都是唯一、不重复的?? ?unique
<3.主键约束?? ?主键是一行数据的唯一标识,要求非空且唯一?? ?primary? key? (auto_increment自增)
<4.默认约束?? ?保存数据时,如果未指定该字段值,则采用默认值?? ?default
<5.外键约束?? ?让两张表的数据建立连接,保证数据的一致性和完整性?? ?foreign? key
<1.向指定字段添加数据insert into 表名 (字段名1, 字段名2) values (值1, 值2);
<2.全部字段添加数据insert into 表名 values (值1, 值2, ...);
<3.批量添加数据(指定字段)insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);
<4.批量添加数据(全部字段)insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);
(UPDATE)update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [where 条件] ;
(DELETE)delete from 表名? [where? 条件] ;