数据库和数据表的管理
创建数据库(掌握)
- CREATE DATABASE [IF NOT EXISTS ]数据库名;
- CREATE DATABASE 数据名 CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
- 注意:如果使用IF NOT EXISTS关键字,则当指定的数据库名存在时,不创建数据库。如果不使用IF NOT EXISTS关键字,当创建的数据库名存在时,将产生错误
- show create database 数据库名;显示创建的数据库的相关信息
删除数据库(掌握)
- DROP DATABASE 数据库名;
数据库表的设计(了解)
- 表是数据库中最基本的逻辑单元,由行和列构成
- E-R模型:实体-关系模型,定义数据的存储需求 由实体、属性、和关系三个要素构成。
- 数据库表要求表中的每一行记录都必须是唯一的,所以在设计数据库时,为了保证记录的唯一性,最为普遍的做法是为表定义一个主键
- 主键:PRIMARY KEY,由一个或多个字段构成,主键的值具有唯一性且不能为空值
- 外键:FOREIGN,实体间的关系
- 约束:CONSTRAINT,定义在表上的一种强制规则
- 约束类型:非空、唯一、主键、外键、检查
Mysql数据类型(了解)
1.数值型
- BIT 位字段类型,取值范围1~64,默认为1
- TINIINT 很小的整数类型,有符号取值范围-128~127
- SMALLINT 小的整数类型,有符号取值范围-32768~32767
- MEDIUMINT 中等大小的整数类型,有符号取值范围-8388608~8388607
- INT/INTEGER 普通大小的整数类型,-2147483648~2147483647
- BIGINT 大整数类型
- FLOAT 单精度浮点型
- DOUBLE 双精度浮点型
- DECIMAL / DEC 定点数类型
- BOOL/BOOLEAN 布尔类型,0为假,1为真
2.字符型
- CHAR(M) 定长度字符串
- VARCHAR(M)可变长度字符串
- TINIBLOB
- TINITEXT
- BLOB 二进制大对象
- TEXT 大文本类型
- MEDIUMBLOB
- MEDIUMTEXT
- LONGBLOB
- LONGTEXT
- ENUM 枚举类型
- SET 集合类型
3.日期型
- DATE 日期类型,例’2019-11-30’
- TIME 时间类型
- YEAR 两位或四位的年份类型,默认是四位
- DATETIME 日期时间类型,例’2019-11-30 14:01:05’
- TIMESTAMP 时间戳类型
创建表(掌握)
1.语法格式
CREATE TABLE 表名(
字段名1 数据类型 [约束],
字段名2 数据类型 [约束],
字段名3 数据类型 [约束],
…
)[存储引擎 、字符集等等]
2.创建表字段设置
-
PRIMARY KEY,指定字段为主键
-
AUTO_INCREMENT,指定字段自增
-
INDEX,为字段创建索引
-
NOTNULL,字段值可以设置非空
-
NULL,字段值可以设置为空
-
COMMENT,设置字段注释
-
DEFAULT,设置字段默认值
3.举例创建dept表
create table dept(
deptno int(2) primary key,
dname varcahr(10) not null,
loc varchar(10) not null)
删除表(掌握)
1.DROP TABLE 表名;
修改表(掌握)
1.ALTER 修改表结构,增加列、删除列、修改列、修改数据类型,增加约束等等
1.1增加列
- ALTER TBALE 表名 ADD 列名 数据类型 约束;
1.2修改列
- ALTER TBALE 表名 MODIFY 列名 数据额类型 约束;
1.3删除列
- ALTER TABLE 表名 DROP COLUMN 列名;
1.4增加约束
- ALTER TBALE 表名 ADD CONSTRAINT 约束名 约束类型(字段名);
1.5删除约束
- ALTER TBALE 表名 DROP INDEX 约束名;
1.6 修改表名
- ALTER TABLE 旧表名 RENAME 新表名;
- RENAME TABLE 旧表名 TO 新表名;
复制表(掌握)
1.方法一:create table 新表名 like 源表
2.方法二: create table 新表名 select * from 源表
3.注意:方法一只能复制表结构,方法二可以复制表结构和表记录
SQL语句分类(掌握扩展)
1.DDL
1.数据定义语言 data defintiton language
- create alter drop :对表(试图、索引等)的结构进行操作, 不能回滚
2.DML
- 数据操作语言 data munipulition languag ,可以回滚
- insert、update、delete
3.DQL
- 数据查询语言 data query language
- select
4.DCL
- 数据控制语言 data control language
- grant、revoke
5.TPL
- 事务处理语言 transaction process language
- commit、rollback