SQL学习(一)

-- 删除表
drop TABLE classes

-- 创建表
create table classes
(
	classId int not NULL,
	className VARCHAR(30)
)

-- 添加数据,注意字符串用单引号
INSERT INTO classes(classId ,className) VALUES (1,'1班');
INSERT INTO classes(classId ,className) VALUES (2,'2班');
INSERT INTO classes(classId ,className) VALUES (3,'3班');
INSERT INTO classes(classId ,className) VALUES (4,'4班');

-- 添加字段时如果只是部分添加,需要在设置表头时,设置对应需要添加的内容
INSERT INTO classes(classId ) VALUES (1);

-- 查询数据 *表示所有的列
SELECT *FROM classes;
-- distinct用于过滤重复数据
SELECT DISTINCT classId FROM classes;
-- 可通过where子句进行查询 
SELECT classId FROM classes where classsName='';
-- 模糊查询 
SELECT classId FROM classes where className like '%班';
SELECT classId FROM classes where className like '%班%';



-- 查询单列
SELECT classId FROM classes;

SELECT classId,className FROM classes;

-- 修改
UPDATE classes set className='一班' WHERE classId=1;
-- 同时修改多个数据
UPDATE classes set className='一班' classId=1 where;

-- 如果不添加updata的条件where语句则表示对每个都进行修改
UPDATE classes set className='一班' ;

-- 删除
DELETE FROM classes WHERE classId=1;
DELETE FROM classes WHERE classId in (1,3);

-- 排序:查询结束后我们希望通过按照某个字段的顺序进行排序
-- 基本语法  SELECT 字段1,字段2,...from 表名 where 条件 ORDER BY 字段 [ASC|DESC]
-- ORDER BY后的字段即为你希望参考排序的字段
-- asc 升序排序,desc 降序排序
--  SELECT 字段1,(字段2+...)from 表名 where 条件 ORDER BY total [ASC|DESC] 


-- 如果不加where条件,则会将所有数据删除
-- 删除表
-- truncate table执行速度快,但不能添加条件,不建议使用
drop table classes;
delete from classes;
truncate table classes;



SELECT * FROM classes WHERE not classId=2;
SELECT *FROM classes WHERE classId!=2;
SELECT *FROM classes WHERE classId>1;
SELECT *FROM classes WHERE classId BETWEEN 1 AND 3;
SELECT *FROM classes WHERE classId>1 AND classId<3;
SELECT *FROM classes WHERE classId=1 or classId=3;

-- 数据库关键在于查询
SELECT *FROM classes WHERE NOT classId=1;


-- NOT NULL 约束强制列不接受 NULL 值。
-- NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

CREATE TABLE student
( 
	stuId INT NOT NULL,
	stuName VARCHAR (30) NOT NULL,
	age INT not null,
	classId int not null
);
-- 添加
INSERT INTO student (stuId,stuName,age,classId)
VALUES(1,'廖风顺',18,101);



SELECT *FROM student;
DELETE FROM student WHERE stuId=1;

SELECT *FROM student; 

-- 为班级表添加主键
ALTER TABLE classes
	ADD CONSTRAINT pk_class_id PRIMARY KEY(classId);


SELECT *FROM classes;

-- 为学生添加主键
ALTER TABLE student
	ADD CONSTRAINT pk_stu_id PRIMARY KEY(stuId);

-- 为学生添加外键
ALTER TABLE student
	ADD CONSTRAINT fk_stu_id FOREIGN KEY(classId) REFERENCES classes(classId);

-- add stu
INSERT INTO student(stuId,stuName, age,classId)
 VALUES (1,'徐铖',22,2);

INSERT INTO student(stuId, stuName,age,classId)
 VALUES (2,'张彦豪',21,2);

DELETE FROM student WHERE stuId=2;
-- 查看表的结构  description
desc student;

SELECT *from classes;
SELECT *from student;

DELETE FROM classes WHERE classId=1;

-- 应该先删除外键表(也叫从表),在删除主键表,

-- 创建数据库
CREATE DATABASE db1;

-- 删除数据库
DROP DATABASE db1;

-- mysql数据类型
-- 数值型 int float decimal 
-- int 有符号-2的31次方到2的31次方-1 无符号0到4294967295
-- int 后加unsigned就变成了无符号整型


-- float 浮点数,存放小数,精度较高
-- decimal 存放小数,定点数,精度高,薪水使用该类型

-- 字符串型 char varchar text
-- char 用于存放字符串,范围是0~255字符,
-- varchar 用于存放字符串 范围是0~65532个字节,还有1到3个字节用于存放该字段长度
-- 我们在创建varchar(m),m这个值得大小和你当前的表的编码有关,如果表的编码是
-- uft-8,m最大为21844字符,如果表的编码是gbk,m的最大为32766
-- varcahr 后的m即使使用时存不满也不会浪费空间


-- text 文本型用来存放大段文本,如果内容较多时,可以使用

-- 日期型 data 用于存放日期,



--
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值