- 建表语句 create drop alert
- create table 表名 (字段1 类型 [描述],字段2 类型 额外的描述,...)
-
- 了解
建表,字段的数据类型选择
- 常用mysql数据类型
- 数值型 整数和浮点数
- 整数型 tinyint 微整形 占一个字节 无符号是 0~255 有符号是 -128~127 超出范围取最大值
- Length 与Zerofile一起用才有效果` 长度达不到则在数据前面补0 ;000123
- 浮点型: 和java一样,float 和double 不能非常精确的存储一个小数
- float和double都不能非常精确的存储一个小数 开发中使用decimal
- decimal(m,n):m表示数据的总长度,n表示小数位数; 如果不指定 默认(10,0)
- decimal(m,n) 可以精确指定小数的位数
- 在mysql中,用字符串来存储decimal
- 数值型 整数和浮点数
-
文本类型
-
常用 char varchar(length)
-
varchar() 按照实际数据宽度进行分配大小 varchar(50):指最大宽度是50
-
char:定长文本类型 ;char 可以不指定char 不指定char只能存储一个字符
-
定长的好处:查询的效率高. 动态的长度:节省空间
-
TEXT :用于大量文本的储存.
-
时间日期类: date(只存年月日) datatime 非常精确 日期无法写Len
-
提供时间:"yyyy-MM-dd"
数据完整性
- 保证数据的正确性
- mysql 的一些数据约束:
- 主键约束 PK 约束之后不能重复 一个表只能有一个主键
- 多个列的唯一性保护: 可以用唯一键约束 和主键功能一样,也能起到唯一性作用 unique
- 面试题:主键约束和唯一键约束的区别?
- 主键一个表只有一个,唯一键可以有多个 ,主键不可为null 唯一键可以填null
- 默认值:default 提前设定好的默认值
- 外键约束
- 外键也是表中的某列;与宁外一个表相关联外键就是其他表的主键 Foreign Key:外键
- 引用一张表的主键数据来检查另一张表的 外键是否合法
- 在实际开发中一般不外键约束
DML:数据操纵语言
- 完成表中增删改操作
- 新增: insert into(列名) employees values (1,'张三','男','1999-10-1',1,'121212')
- 1.添加记录时对自增长列时,交给数据库完成
- 2.自增的主键写NULL
- insert语句可以批量增加:
- 提高新增效率
- insert语句可以批量增加:
- 批量新增的数据 :添加的数据可以从查询结果 要求查询的表和添加的表一样数据
- 修改:updata
- updata 表名 set 字段 1=值一 ,字段名2 = 值2 [where条件] 如果没有设置更新条件则会更改所有
- 删除:delete:
- delete的操作一般不用 因为无法找回
- 一般在表后面加一列deleted 代表是否被删除......(逻辑删除)
- delete from student 循环删除,太慢了 id的自增没有重置
- 用TRUNCATE TABLE student 快速删除 :将整个表在磁盘上直接删除,创建一个新的空表 id自增重置了
- 新增: insert into(列名) employees values (1,'张三','男','1999-10-1',1,'121212')
-
DCL 数据控制语言*
-
由root管理员创建用户以及相应的权限
- 创建新用户并设置初始密码
- root为创建的新用户授权,
- 回收权限
- 删除用户
-