mysql基础语法(1)

时间:2022-02-24作者:klpeng分类:Java技术浏览:252评论:0

mysql

概念

数据保存的仓库
mysql基础语法(1)

软件安装

mysql基础语法(1)

启动mysql

1.windows版本
mysql基础语法(1)
2.命令行版本(管理员身份)
net start mysql 启动mysql
net stop mysql停止mysql

SQL概念

使用一种全新的语法(语言) ,操作数据库 操作数据库表 操作数据库中的数据
sql : 是有方言的 , 每个数据库都有自己的独立的特点, 但是大部分的内容是一致的
官方规定四种sql语言

  1. DDL(Data Definition Language) 数据定义语言 用来定义数据库对象:数据库,表,列等。关键
    字: create, drop,alter 等
  2. DML(Data Manipulation Language)数据操作语言 用来对数据库中表的数据进行增删改。关键
    字: insert, delete, update 等
  3. DCL(Data Control Language)数据控制语言(了解)
    用来定义数据库的访问权限和安全级别,及创建用户。关键字: GRANT, REVOKE 等
  4. TCL(Transaction Control Language) 事务控制语言
    用于控制数据库的事务操作,关键字: COMMIT,SAVEPOINT,ROLLBACK 等
    自然形成sql语言
  5. **DQL(Data Query Language) 数据查询语言 **
    DQL语言并不是属于MYSQL官方的分类,但是对数据库的操作最多就是查询,所以
    我们的程序员把查询语句的语句称作为DQL语言

DDL-操作数据库

DDL数据定义语言:create创建 drop删除 alter修改

创建库

create database 数据库名称;(重要)
create database if not exist 数据库名;
create database 数据库名 character set 字符集;

展示库

show databases;当前所有库
show create database 数据库名称;

删除库(本地自己玩可以,开发别用)

drop database 数据库名称;

DDL-操作数据库表

create 创建 alter修改 drop 删除 table 表 select 查询

创建表

create table 表名(
​	列名  类型,
​	列名  类型,
​	列名  类型
);

常见类型
varchar(长度) 字符串 int 整型(默认11位长度) date 日期
mysql基础语法(1)
展示表

show tables; 展示数据库表
show create table 表名称; 查看表

DML(重要)

insert新增 delete删除 update修改
新增

#语法:
#语法1: insert into 表名(字段名1,字段名2,字段名3) values(value1, value2,value3)
#语法2: insert into 表名 values(value1, value2,value3)

#语法1演示 "" 数据库没有单引号和双引号的区分 单双引号一样 ,建议都用单引 表示字符串
#注意事项: 
#1.类型注意匹配
#2.字段的顺序和值的顺序必须一致 个数必须一致
#3.特点: 如果不希望输入的数据可以不写, 但是字段名也不可以输入
INSERT INTO student(username,`password`,height) VALUES('jack','1234' , 180);
INSERT INTO student(username,`password`,height) VALUES("2222","rose" , 180);
INSERT INTO student(username,`password`) VALUES("tom","3333" );

#语法2:
#注意: 
#1.务必按照数据库字段的顺序添加数据
#2.数据库有多少字段 全部写上 , 不能省略任何一个
INSERT INTO student VALUES( "5555","lucy" , 190);

删除

#语法1:delete from 表名   删库动作(慎用)
#语法2:delete from 表名 where 条件

#演示:
#语法1:
DELETE FROM student; 

#语法2:
DELETE FROM student WHERE username='2222';
DELETE FROM student WHERE username='5555';

truncate和delete的区别

#id的概念 :为了表示数据的唯一 
CREATE TABLE student3 (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
INSERT INTO student3(NAME) VALUES("张飒");


SELECT * FROM student3;
#删除掉数据 索引值继续增长
DELETE FROM student3;
#删掉数据:直接删除的表 然后创建一张一模一样的表  索引值重新开始
TRUNCATE student3; #基本上没有场景 在开发中不用 
#自己删除本地数据库的时候使用
#约束:  PRIMARY KEY AUTO_INCREMENT 主键自增

修改

# update 表名 set 列名=数据 where 条件 #
UPDATE items,month
SET
items.price=month.price
WHERE
items.id=month.id;

DQL查询

简单查询

#1.基本查询语法入门
SELECT * FROM student3;
#select 字段,字段,字段 from 表名
#2.只查看 名称  年龄 性别 
SELECT id,`name`,age,sex,address,math,english FROM student3;
SELECT `name`,age,sex FROM student3;
#如果根据列名查询 可以自己排序
SELECT age,sex,`name` FROM student3;

#3.别名查询  可以给每次字段 另外起一个名称   as 可以省略
#select 字段名称 as 别名,字段名称 别名 from 表名
#  '' "" 表示是字符串   ``表示的是去掉文字的关键字
SELECT NAME  AS '姓名', age AS '年龄' , sex '性别' FROM student3;

#4.去重查询 (重复的只显示一次)  多字段合起来唯一 才可以去重
#SELECT distinct 字段 FROM student3;
SELECT DISTINCT sex FROM student3;
# 去重的字段必须完全一模一样 才可以去重
SELECT DISTINCT sex,`name` FROM student3;

#5.查询结果参与运算 结果运算查询
#每个人的总成绩 = 数学+英语
SELECT NAME,math,english FROM student3;
#结果列上可以直接进行运算
SELECT NAME,math,(math + 5) FROM student3;
SELECT NAME,math,english,(math+english) AS '总成绩' FROM student3;

条件查询

#1.条件查询
#select * from 表名 where 条件
#1.1 null值查询   null值在查询是否相等时候 只能够用 is null 或者is not null 不能使用等号  = 跟值
SELECT * FROM student3 WHERE english = NULL;#错误
SELECT * FROM student3 WHERE english IS  NULL;#正确

#1.2 比较运算符 > < = >= <=  跟java用法一样
#查询年龄大于20  并且性别为男   where 条件 and 条件 and 条件
SELECT * FROM student3 WHERE age > 20 AND sex='男' ;

#1.3 逻辑运算符 and 并且 or 或者  not非 !使用感叹号表示   != 一般情况
#查询age大于35或性别为男的学生(两个条件其中一个满足)
SELECT * FROM student3 WHERE age > 35 OR sex='女'
#查询id是135的学生
SELECT * FROM student3 WHERE id = 1 OR id =3 OR id =5;
#查询id是135的学生  in的语法 匹配括号中的每个字符 只要满足任意一个即可
SELECT * FROM student3 WHERE id  IN(1,3,5);

#1.4 范围
#查询english成绩大于等于75,且小于等于90的学生
SELECT * FROM student3 WHERE english >= 75 AND english <= 90;
#查询区间范围的数据 between 最小值 and  最大值  75-90之间的所有数据
#含头含尾获得数据
SELECT * FROM student3 WHERE english BETWEEN 77 AND 87;

#1.5 like 像   select * from 表名 where  字段 like '马'
#  符号 % 匹配很多个词,可以没有词
#  符号 _ 匹配一个词

#1.5.1 查询姓马的学生
SELECT * FROM student3 WHERE NAME LIKE '马%';
#1.5.2 查询姓马的学生并且只有三个字
SELECT * FROM student3 WHERE NAME LIKE '马__';
#1.5.3 查询名字中包含马的学生
SELECT * FROM student3 WHERE NAME LIKE '%马%';
打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢