mysql数据库笔记

连接数据库,表和数据库

连接
	mysql -u名字 -h密码 -h服务器
建库
	create database 数据库;
使用库
	use 数据库;
建表
	create table 表(),
删除表
	drop table 表,

主键和外键

一般
	id int peimary key,
联合
	primary key(id,name)
外键
	外键字段 int,
	constraint 外键名 foreign key(字段名) references  主表名(主键名)

在这里插入图片描述

外键就是另一张表中的主键。

问:外键有啥用啊?
答:外键的主要作用就是保持数据的一致性,完整性。

再问:怎么保证的呢?
答:看图。
在这里插入图片描述

如图有两张表,classId 是T_Student的外键,是T_class 表的主键, 如果我们要删除T_class 表中classId为1的字段,程序是会报错的,因为t_student表中有数据和classId为1的字段关联了,是不能删除的,这样子就保证了数据的一致性和完整性。

继续问:那怎么才能删除呢?
接着答:需要先删除T__student表中classId为1的两个字段。

create table t_student(
    -> id int primary key,
    -> name varchar(22),
    -> constraint fk_stu_class1 foreign key(calssId) references t_class(id));

约束

1.唯一约束
		unique
2.自动增加
	AUTO_INCREMENT(增加13.非空
	name VARCHAR(22) NOT NULL,
4.默认
	sex VARCHAR(2) DEFAULT '男'
	DEFAULT CHARSET=utf8;(表末,括号后,分号前)
	注意:中文默认值,则需要加上DEFAULT CHARSET=utf8;
	

查看表

查看表结构
	DESCRIBE 表;
查检表时间,引擎,编码等
	SHOW CREATE 表;(/G可以排版)
改表名
	ALTER TABLE 旧表 RENAME 新表;

改字段

改字段名
	ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型(不能空); 
改字段属性
	 ALTER TABLE 表名 MODIFY 字段名 数据类型(不能空); 
添加字段
	最后一列
		ALTER TABLE 表名 ADD 字段 属性;
	第一列
		ALTER TABLE 表名 ADD 字段 属性 FIRST;
	指定列后
		ALTER TABLE xx ADD 字段 属性 AFTER 字段;
删除字段
		ALTER TABLE 表名 DROP 字段:

修改字段顺序

移到顶部
	ALTER TABLEMODIFY 字段 属性 FIRST;
移到某个字段后面
ALTER TABLEMODIFY 字段 属性 AFTER 字段(无属性了);

删除外键

ALTER TABLEDROP FOREIGN KEY 外键;

插入数据

insert into t_emp(Id,Name,DeptId,Salary)
values
(1,'Nancy',301,2300.00),
(2,'Tod',303,5600.00),
(3,'Carly',301,3200.00);

更新数据

update tb_emp
set Name="Tracy",DeptID=302,Salary=4300
where Id=3;

删除数据/表

数据
	 DELETE FROM Mall_products2
	 WHERE id=2 OR id=3;DELETE FROM 表名;
单表查询
查全表
	select * from tb_emp;
查询某个
	select Name,Salary from tb_emp
在什么什么之间
	where   Salary BETWEEN 3000 and 5000;
除了
	where  Id not in(1);
模糊查询
	where Name like"C%"
非空
	where DeptID is null;

去重

and
	SELECT DISTINCT Name FROM tb_emp;
in()=or
	where DeptId in(301,303)=301 or 303

排序
降序
 order by score desc;
升序
	decs

group by(按照字段数据出现的第一条)

group by

limit(一定要写在最后)

select * from tb_score order by score desc limit 1,4 ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值