MySql学习

1 软件

(1) 关闭
	net stop mysql80
(2) 启动
	net start mysql80
(3) 版本信息
	status
(4) 退出数据库
	exit;

 

2 数据类型

(1) 数值
	int,float,double,decimal
(2) 字符
	char(位数), varchar(位数)
(3) 时间
	YEAR  YYYY
	TIME  HH:MM:SS
	DATE  YYYY-MM-DD
	DATETIME  YYYY-MM-DD HH:MM:SS
	TIMESTAMPI  YYYY-MM-DD HH:MM:SS
(4) 二进制
	bit(位数),binary(位数),varbinary(位数)

 

3 数据库

(1) 登陆数据库
	mysql -uroot -p
(2) 选中数据库
	use 库名;
(3) 创建数据库
	create database if not exists 库名 
	character set 字符集 
	collate 校对规则;
(4) 删除数据库
	drop database if exists 库名;
(5) 修改数据可的编码
	alter database 库名
	character set 字符集 
	collate 校对规则;
(6) 查询数据库
	show databases like ‘%库名%’;
(7) 查询数据库信息
	show create database 库名;
(8) 查询所有编码
	show character set;
(9) 查询当前使用的数据库
	select database ();

 

4 数据表

(1) 创建数据表
	create table 表名(字段 类型,字段 类型);
(2) 删除数据表
	drop table if exists 表名;
(3) 删除数据
	delete from表名where 字段=值;
(4) 插入数据
	insert into 表名 value(值,值);
	/* VARCHAR DATETIME加引号"",空字段为NULL。 */
	insert into 表名(字段)value (值);	
(5) 修改数据
	update 表名 set 字段=值 where 字段=值;
	update 表名 set 字段=值;
	/* 对该字段以该值进行填充 */
(6) 增加字段
	alter table 表名 add 字段 类型;
(7) 修改字类型
	alter table 表名 modify 字段 类型;
(8) 删除字段
	alter table 表名 drop 字段 类型;
(9) 修改字段名
	alter table 表名 change 旧字段 新字段 新类型;
(10) 修改表名
	alter table 表名 rename  表名;
(11) 修改字符集,校对规则
	alter table 表名 convert to 字符集 校对规则;
(12) 修改数据引擎
	alter table 表名 engine 数据引擎;
(13) 查询数据表
	show tables;
(14) 查询数据表信息
	show create table 表名;
(15) 查看数据表结构
	desc/describe 表名;
(16) 查看数据表
	select * from 表名;
	select * from 表名 where 字段 =/>/< …; 

 

5 约束

(1) 主键约束
约束字段不重复,不可为空。
	<1> 建表时添加主键约束
		create table 表名(字段 类型 primary key,字段 类型);
		create table 表名(字段 类型,字段 类型,primary key(字段,字段));
	<2> 建表后添加主键约束
		alter table 表名 add primary key(字段);
	<3> 删除主键约束
		alter table 表名 drop primary key;
	<4> 修改字段添加主键约束
		alter table 表名 modify 字段 类型 primary key;
(2) 自增约束
插入其余部分,约束部分自动加一。
	create table 表名(字段 类型 primary key auto_increment,字段 类型);
(3) 唯一约束
插入字段不可重复,可为空。
	<1> 建表时添加唯一约束
		create table 表名(字段 类型,字段 类型 unique);
		create table 表名(字段 类型,字段 类型,unique(字段));
		create table 表名(字段 类型,字段 类型,unique(字段,字段));
	<2> 建表后添加唯一约束
		alter table 表名 add unique(字段);
	<3> 删除唯一约束
		alter table 表名 drop index 字段;
	<4> 修改字段添加唯一约束
		alter table 表名 modify 字段 类型 unique;
(4) 非空约束
约束字段不可为空。
	create table 表名(字段 类型,字段 类型 not null);
(5) 默认约束
插入字段值,未传值,使用默认值。
	create table 表名(字段 类型,字段 类型 default 默认值);
	alter table 表名 change 字段 字段 类型 约束;
(6) 外键约束
主表没有的值,副表不可用。主表中被引用的部分,不可删除。
	create table 表名(字段 类型,字段 类型 foreign key(字段) references 表名(字段));
(7) 总结
	<1> 建表时约束
		create table 表名(字段 类型,字段 类型 约束);
		create table 表名(字段 类型,字段 类型,约束(字段));
	<2> 建表后约束
		alter table 表名 add 约束(字段);
	<3> 删除约束
		alter table 表名 drop 约束;
	<4> 改字段约束
		alter table 表名 modify 字段 类型 约束;

 

6 数据表设计

(1) 第一范式:表中所有字段都是不可分割的原子值。
(2) 第二范式:副键依赖于全部主键。
若不满足:拆表
(3) 第三范式:副键之间不能有传递依赖关系。
若不满足:拆表

 

7 查询 

posted @ 2023-02-02 23:44  10kcheung  阅读(21)  评论(0)    收藏  举报