啥是SQL?

  据库的组成部分,其中数据库管理系统可以接收一些命令,对数据文件进行添加、删除、修改、查询等操作。那么这些命令就是 SQL .

  SQL:(Structured Query Language)是结构化查询语言缩写。是一门专门与数据库管理系统打交道的语言。

  SQL语言:是关系型数据库的标准语言, 其主要用于存取数据,查询数据,更新数据和管理数据库系统等操作。

  具体可以把SQL分为4个部分:

数据控制语言 ( DCL): 主要用于控制用户的访问权限。其中GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限

数据定义语言(DDL):DROP、CREATE、ALTER等语句;数据库定义语言。主要用于定义数据库,表,视图,索引和触发器等。CREATE语句主要用于创建数据库,创建表,创建视图。ALTER语句主要用于修改表的定义,修改视图的定义。DROP语句主要用于删除数据库,删除表和删除视图等。

数据操作语言(DML):INSERT、UPDATE、DELETE语句;数据库操作语言。主要用于插入数据,更新数据,删除数据。INSERT语句用于插入数据,UPDATE语句用于更新数据,DELETE语句用于删除数据.

数据查询语言(DQL):SELECT语句。主要用于查询数据。

1.数据库

*1.创建
#create database 库名;
2.使用数据库
#use 库名; 3.查询当前库下所有的表
#show tables;
#show database; -- 显示所有数据库
*4.删除
#drop database 库名;

2.表操作

*1.创建
#create table 表名(
#  字段1 数据类型 约束条件,
#  字段1 数据类型 约束条件,
#  ) *2.删除
#drop table t1; 3.修改表
#ALTER TABLE t1 add id int not null PRIMARY key ; -- 添加字段
#ALTER TABLE t1 MODIFY salary double(10,3) not null DEFAULT 10; -- 修改字段类型与约束条件
#ALTER TABLE t1 CHANGE salary sal double(10,3) not null DEFAULT 10; --修改字段名称和类型与约束条件
#ALTER TABLE t1 DROP COLUMN sal; -- 删除指定字段
#RENAME table t1 to t5;-- 改变表名称 4.查看
#* select * from t1; -- 查询表中数据
#desc t1; -- 查看表结构
#show create table t1; -- 显示表的创建信息 5.复制表
#create table t2 select * from t1; -- 复制表结构和表数据
#* create table t3 LIKE t1; -- 只复制表结构

3.数据操作

1.增
#INSERT into t2(name,age) VALUES('小三',11); -- 指定字段插入
#INSERT into t2 VALUES('凤',13,2.5); -- 整表字段插入
#INSERT into t2 VALUES('凤',13,2.5),('凤',13,2.5),('凤',13,2.5),('凤',13,2.5),#('凤',13,2.5);
#--插入多条
#insert into t1 SELECT id,name from t2; -- 复制表数据
2.删
#delete from t2 where age = 1113;
3.改
#update t2 set name ='祝小凤' , salary = 100 where age =13;
4.查
#select * from T1; 1.简单查询
#-- 查询所有
#select * from person;
#--查询指定字段
#select name,age FROM person;
#-- 别名+字段运算
#select p.name,p.salary,p.salary+p.salary*0.1 as 'sum' from person as p
#-- 去重复查询
#select DISTINCT salary,name from person; 2.条件查询
#-- 逻辑运算符 < > <= >= != <> =
#-- is null ,is not null
#-- and OR ()
#SELECT * from person where salary >5000 or ( age <=30 AND NAME =''); 3.区间查询
#SELECT * FROM person where salary >=5000 and salary<=10000;
#-- 推荐使用 :
#--ps:前后包含
#SELECT * FROM person where salary between 5000 and 10000; 4.集合查询 in not in
#SELECT * FROM person where age = 20 or age = 23 or age =30 ;
#SELECT * FROM person where age not in(20,23,30); 5.模糊查询 like
#SELECT * FROM person where name LIKE '%月'; -- 以什么结尾
#SELECT * FROM person where name LIKE '月%'; -- 以什么开头
#SELECT * FROM person where name LIKE '%月%'; -- 包含
#SELECT * FROM person where name LIKE '_l%'; -- "_"表示占位符 6.排序
#select * from person ORDER BY salary ASC,age desc;
#-- 强制中文[排序
#select * FROM person ORDER BY CONVERT(name USING GBK) ; 7.聚合函数
#select MAX(salary) from person;
#select MIN(salary) from person;
#select AVG(salary) from person;
#select SUM(salary) from person;
#select COUNT(*) from person; 8.分组查询 GROUP BY HAVING
#select count(id),dept_id,avg(salary) from person GROUP BY dept_id HAVING avg(salary) >=5000 ;
#where 与 having区别:
#执行优先级从高到低:where > group by > having
#1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
#2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数 9.分页查询 LIMIT
#SELECT * FROM person LIMIT 2,2 10.正则表达式
#SELECT * FROM person where name REGEXP '^a';
#SELECT * FROM person where name REGEXP 'n$';
#SELECT * FROM person where name REGEXP '.a';
#SELECT * FROM person where name REGEXP '[a,e,n]';
#SELECT * FROM person where name REGEXP '[^alex]';
#SELECT * FROM person where name REGEXP 'a|e';
#SELECT * FROM person where name REGEXP '^w.*i$'; 11. SQL 语句关键字的执行顺序
#执行顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY ->limit  

4.权限

#create user 'alex'@'127.0.0.1' IDENTIFIED by '123'; -- 创建用户
#grant SELECT,UPDATE,DELETE ON db1.* to 'alex'@'127.0.0.1';
#GRANT all PRIVILEGES ON db1.* to 'alex'@'127.0.0.1'; -- 所有权限
#FLUSH PRIVILEGES; -- 刷新权限
#update mysql.user set password=password('123456') where user='root';

MYSLQ数据库 day 1的更多相关文章

  1. InnoDB引擎Myslq数据库数据恢复

    首先祝愿看到这片文章的你永远不要有机会用到它... 本文指针对用InnoDB引擎的Mysql数据库的数据恢复,如果是其它引擎的Mysql或其它数据库请自行google... 如果有一天你手挫不小心删掉 ...

  2. mySLQ数据库 练习题

    MySQL 练习题1 DROP TABLE IF EXISTS `liuyan`; CREATE TABLE `liuyan` ( `id` int(11) NOT NULL AUTO_INCREME ...

  3. myslq数据库用union all查询出现 #1271 - Illegal mix of collations for operation 'UNION'

    出现 #1271 - Illegal mix of collations for operation 'UNION' 的原因是两个字符编码不匹配造成的. 我遇到的是  utf8_general_ci ...

  4. Jsp连接Mysql数据库取数方法

    我将Jsp连接Mysql数据库方法整理如下,供大家学习交流! 1.首先在myslq数据库中新建mldn数据库,并新建emp表.(方法不展开介绍) 插入数据如下: create table `emp` ...

  5. Win7安装mysql数据库、修改默认密码

    学习和使用myslq数据库半年时间,mysql对于每一个开发人员都不会陌生.今天对电脑重装系统,为了方面测试在个人PC上安装了mysql数据库.以一下是整个安装过程. 一.下载mysql 1.首先需要 ...

  6. 线上Mysql数据库崩溃事故的原因和处理

    前文提要 承接前文<一次线上Mysql数据库崩溃事故的记录>,在文章中讲到了一次线上数据库崩溃的事件记录,建议两篇文章结合在一起看,不至于摸不着头脑. 由于时间原因,其中只讲了当时的一些经 ...

  7. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(八)线上Mysql数据库崩溃事故的原因和处理

    前文提要 承接前文<一次线上Mysql数据库崩溃事故的记录>,在文章中讲到了一次线上数据库崩溃的事件记录,建议两篇文章结合在一起看,不至于摸不着头脑. 由于时间原因,其中只讲了当时的一些经 ...

  8. Eclipse使用jdbc连接MySql数据库报:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    在使用eclipse连接mysql数据库时报异常: java.sql.SQLException: Access denied for user 'root'@'localhost' (using pa ...

  9. 阿里java开发规范 强制约束

    http://news.51cto.com/art/201901/591018.htm  :阿里开发强制要求的11条索引创建规范,提高性能 https://blog.csdn.net/Lujunwei ...

随机推荐

  1. MTIM(中间人攻击)

    所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情. 信息篡改 当主机A.和主机B通信时,都由主机C来为其“转发”,如图一,而A.B之间并没有真正意思上的直 ...

  2. Signing Your Applications(Android签名相关)

    In this document Signing Overview Signing in Debug Mode Signing in Release Mode Signing Android Wear ...

  3. 启动 idea 编译报错 kotlin

    怀疑是插件问题. 重新删除了.  C:\Users\user  里面inteliJIdea2018.3 缓存 ,解决

  4. hadoop zookeeper高可用

    原文地址: https://blog.csdn.net/dingchenxixi/article/details/51131493 core-site.xml yarn-site.xml

  5. Light Explorer

    [Light Explorer] The Light Explorer allows you to select and edit light sources. Window> Lighting ...

  6. python网络编程之进程论

    标签(空格分隔): 进程 什么是进程: 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu; 进程与程序的区别: 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程 注意: 需要强调的 ...

  7. C/C++中#pragma once的使用

    在C/C++中,为了避免同一个文件被include多次,有两种方式:一种是#ifndef方式,一种是#pragma once方式(在头文件的最开始加入). #ifndef SOME_UNIQUE_NA ...

  8. DES算法实现(C++版)

    #include "memory.h" #include "stdio.h" enum {encrypt,decrypt};//ENCRYPT:加密,DECRY ...

  9. Python __import__() 函数

     Python OS 文件/目录方法 Python 面向对象  Python __import__() 函数  Python 内置函数 描述 __import__() 函数用于动态加载类和函数 . 如 ...

  10. 不要62(数位DP)

    不要62 http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others)    Memory ...