SQL:结构化查询语言
SQL分类
DDL数据库定义语言, 数据库中库的基本操作以及表的基本操作
DML数据库操纵语言,数据库中数据的基本操作(增删改查)
DCL数据控制语言,主要负责权限管理和事务
mysql数据库的架构:CS架构–客户端服务器模式
mysql -uroot 运行命令,就相当于mysql自带的客户端程序,会链接服务器进行操作
mysql数据库的基本操作
注意事项:
1.每一条数据库操作语句都应以分号结尾;因为mysql支持换行操作
2.mysql数据库中对大小写不敏感,通常关键字使用大写表示
3.mysql数据库中的库的名称应该以英文字符或者以一些符号起始,但不允许以数字起始
4.mysql数据库中库的名称,表的名称,字段名称都不能使用关键字,比如create、database,如果非要使用,必须要用反引号括起来 create database ‘database’;
1…mysql数据库中库的操作
查看mysql数据库中的库:show databases; 如何创建库:create database db_name; create
database if not exists db_name; 如何删除数据库:‘drop database database’
drop database db_name; 选择使用数据库:use
db_name;(mysql中可以有多个库,因此在操作数据库表以及数据 之前要先选择使用哪个库) 显示当前使用数据库:select database();
2.mysql数据库中的数据类型
数字类型:BIT【(M)】—比特位,INT–整形,DECIMAL(M,D)浮点型
字符类型:VARCHAR(SIZE),TEXT(SIZE) 日期类型:DATETIME,TIMESTAMP
3.mysql数据库中表的操作
查看库中所有表:show tables; 创建表:create table tb_name(fields1 type,fields2
type,…); 查看表结构:desc tb_name; 删除表:drop table tb_name;
过程演示1. create database if not exists db_name;
2. show databases;
3. use db_name
4. create table…
数据库表中的数据增删改查:
1.添加数据:insert
指定列插入: insert [into] tb_name(id,name.chinese,bith) vales(1,“张三”,77.7,2019-08-02)
全列插入:insert [into] tb_name vables(…);给定的数据必须所有列的数据并且必须跟表中字段相同 多行插入:insert [into] tb_name vables(…)(…)
2.查询数据:select
全列查询:select * from tb_name;
指定查询:selsect fields1,fields2,…fromtb_name;
排序查询:select * from tb_name order by fields_name[asc]/[desc];asc默认为升序,desc默认为降序
多列排序:第一列相同的情况下针对第二列进行排序:select * from tb_name order by chinese asc,math desc;
分页查询:通常搭配排序一起使用 在所有数据中只要前n条:select * from tb_name limit n;
从第s条开始查询前n条:select * from tb_name limit n offest s;
每页显示10条,第5页数据的请求select * from tb_student limit 10 offest 10*5;
查询字段为表达式:select name,chinese+math from tb_student;
字段别名的使用 select name,chinese+math [as] total from tb_name;
数据去重 select distinct age,name from tb_student根据某一字段进行数据去重,查看去重后这个字段的数据
条件查询:查询时给与一定的条件限制
比较运算符:
基础的比较运算符:<,>,>=,<=,!=,= <>,<=> <=>表示等于,与=不同的是,针对NULL产生的效果不同,<=>可以与NULL比较 select * from tb_name where
math =NULL; NULL值的比较:IS NULL/IS NOT NULL
IN的使用:判断查询的数据是否给与的多个选项数据之一select * from tb_student where name in
(“张三“”李四”); BETWEEN …AND…的使用:查询范围介于两个值之间则返回真select * from
tb_student where math between 60 and 85; LIKE模糊匹配的使用:select * from
tb_student where name like “张%”;逻辑运算符:与-and 或-or 非-not
逻辑与:两个条件都满足返回真select * from tb_student where math > 60 and math 85
逻辑或:两个条件任意满足一个返回真select * from tb_student where (name = “张三” or math > 85)and (…) 逻辑非:一个条件不满足则返回真 select * from tb_student where not name in(“张三”“李四”);
3.修改数据:update
update tb_name set fileds1 = val 1;fields2 = val2 where condition;
update tb_name set age = 20;math = 95 where id = 2;
删除数据:delete
delete from tb_name where condition;不要忘记条件,否则针对整张表中的所有数据产生效果 delete
from tb_student where name=“张三”;