MySQL是一个真正的多用户、多线程SQL数据库服务器。它是以客户机/服务器结构实现的,由一个服务器守护程序以及很多不同的客户程序和库组成
数据库服务器是指用来运行数据库服务的一台电脑
数据库database一个数据库服务器里面有可以有多个数据库
数据表系统数据库中。根据业务的不同又分为了不同的数据表
数据字段,也叫数据列就是我们日常所见表格里面的列。
数据行真正的数据存在每一个表的行里面
SQL语言结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
1、数据定义语言(DDL ,Data Defintion Language)语句:数据定义语句,用于定义不同的数据对象、数据库、表、列、索引等。常用的语句关键字包括create、drop、alter等。
2、数据 *** 作语言(DML , Data Manipulation Language)语句:数据 *** 纵语句,用于添加、删除、更新和查询数据库记录,并检查数据的完整性。常用的语句关键字主要包括insert、delete、update和select等。(DML:添加,修改,删除,DQL:查询)
3、数据控制语言(DCL, Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等。
创建表(DDL)
PRIMARY KEY - 主键
auto_increment - 自动增长
CREATE TABLE student(
id INT(3) PRIMARY KEY auto_increment,
name VARCHAr(32),
sex VARCHAr(32),
age INT(3),
salary FLOAT(8,2),
course VARCHAr(32)
)
插入数据 - 方式1
INSERT INTO student VALUES(1,‘邓鑫’,‘男’,18,12000,‘JAVA’);
插入数据 - 方式2
INSERT INTO student(name,sex,age,salary,course) VALUES(‘罗洋’,‘男’,28,16000,‘JAVA’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘刘德华’,‘男’,60,21000,‘JAVA’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘向华强’,‘男’,57,12000,‘HTML’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘周华健’,‘男’,64,8000,‘HTML’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘华晨宇’,‘男’,31,9000,‘HTML’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘华仔’,‘男’,23,5000,‘PYTHON’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘欧阳震华’,‘男’,41,12000,‘PYTHON’);
INSERT INTO student(name,sex,age,salary,course) VALUES(‘刘小青’,‘男’,41,11000,‘JAVA’);
修改数据
UPDATE student set name=‘刘晓青’ WHERe id=9;
UPDATE student set sex=‘女’,age=18 WHERe id=9;
修改数据(需求:Java学科的每位同学的年龄都改成18)
UPDATE student set age=18 WHERe course=‘JAVA’;
删除数据(需求:清空表)
DELETE FROM student;# 清空后添加数据,主键会继续自动增长
TRUNCATE student;# 清空后添加数据,主键会从1开始自动增长
建议使用第一种方式清空表,因为涉及到数据的恢复与现有id冲突的问题删除数据(需求:删除HTML和PYTHON学生数据)
DELETe FROM student WHERe course=‘HTML’ OR course=‘PYTHON’;
查询所有字段数据(效率低)
SELECt * FROM student;
查询指定字段上的数据
SELECt name,age FROM student;
查询指定字段上的数据 + 别名
SELECt name AS ‘姓名’,age AS ‘年龄’ FROM student;
查询数据 + 条件
SELECt * FROM student WHERe age>40 AND course=‘JAVA’;
SELECt * FROM student WHERe course=‘JAVA’ OR course=‘HTML’;
查询数据 + 去重 (需求:查询学科)
SELECt DISTINCT course FROM student;
模糊查询
%表示没有、多个字符
_表示一个字符
注意:效率低
SELECt * FROM student WHERe name LIKE ‘%华%’;
SELECt * FROM student WHERe name LIKE ‘华’;
SELECt * FROM student WHERe name LIKE ‘___华’;
排序查询(需求:按照年龄做升序)
ORDER BY排序,ASC-升序 DESC-降序
SELECt * FROM student ORDER BY age ASC;
排序查询(需求:按照工资做降序)
ORDER BY排序,ASC-升序 DESC-降序
SELECt * FROM student ORDER BY salary DESC;
多字段排序查询(需求:按照年龄做升序,年龄相同工资做降序)
SELECt * FROM student ORDER BY age ASC , salary DESC;
限制查询
SELECt * FROM student LIMIT 3;
限制查询(查询出工资最高的三个学生)
SELECt * FROM student ORDER BY salary DESC LIMIT 3;
分页查询
公式:SELECt * FROM student LIMIT (当前页-1)*每页的数据条数,每页的数据条数;
SELECt * FROM student LIMIT 0,3;# 第一页
SELECt * FROM student LIMIT 3,3;# 第二页
SELECt * FROM student LIMIT 6,3;# 第三页
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)