黑马程序员技术交流社区

标题: 【成都校区】SQL语句 [打印本页]

作者: 高兴就好    时间: 2019-4-25 13:46
标题: 【成都校区】SQL语句
SQL语句
         数据库
                 数据库的作用
                         存储和管理数据的仓库,本质上是一个文件系统,还是以文件的方式存在服务器的电脑上
                 什么是SQL
                         Structured Query Language 结构化查询语言
                         SQL作用
                                 是一种所有关系型数据库的查询规范,不同的数据库,只要是关系型的数据库都支持,只不过不同的数据库SQL语句有一些区别,有一些其特有的语言;
                 MySQL的语法
                         每条语句以分号结尾,如果在SQLyog中不是必须加的。 SQL中不区分大小写,关键字中认为大写和小写是一样的,但是推荐大写;
                         3种注释
                                 --空格 注释内容 单行注释
                                 /* */ 多行注释
                                 # 这是mysql特有的注释方式
                 SQL语句的分类
                         DDL(Data Definition Language)数据定义语言
                                 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
                         DML(Data Manipulation Language)数据操作语言
                                 用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
                         DQL(Data Query Language)数据查询语言
                                 用来查询数据库中表的记录(数据)。关键字:select, where 等
                         DCL(Data Control Language)数据控制语言(了解)
                                 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等
                 SQL语句的相关操作         重点
                         DDL 建库/建表
                                 CRUD操作 C()Create  创建 R Retrieve 查询 U(Update):修改 D(Delete):删除 使用数据库:use 数据库名称;
                                         操作数据库
                                                 创建数据库
                                                         判断是否存在,如果不存在则创建数据库 create database if not exists 数据库名
                                                         创建数据库并指定字符集为 gbk CREATE DATABASE  数据库名 CHARACTER SET 字符集
                                                 查看数据库
                                                         查看所有数据库 show databases ;
                                                         查看某个数据库的定义信息 show create database 数据库名
                                                 修改数据库
                                                         修改数据库默认的字符集 ALTER DATABASE  数据库名 DEFAULT CHARACTER SET  字符集;
                                                 删除数据库
                                                         删除数据库 DROP DATABASE  数据库名
                                                 使用数据库
                                                         查看正在使用的数据库 SELECT DATABASE()
                                                         使用/切换数据库 USE  数据库名
                                         操作表
                                                 创建表
                                                         创建表的格式 CREATE TABLE  表名 ( 字段名 1  字段类型 1, 字段名 2  字段类型 2 );
                                                 MySQL常使用的数据类型
                                                         int 整型
                                                         double 浮点型 例如 score double(5,2)需要指定小数一共几位,小数点后面保留几位
                                                         varchar 字符串型 设置某字段为字符串是需要指定字符串的长度, 例如: name varchar(32)
                                                         data 日期类型,格式为yyyy-MM-dd 只有年月日
                                                                 datetime   包含年月日时分秒 yyyy-MM-dd  HH:mm:ss
                                                                 timestamp  时间错类型,包含年月日时分秒 yyyy-MM-dd  HH:mm:ss 如果将来不给这个字段赋值,或赋值为null则默认使用当前的系统时间
                                                 查看表
                                                         查看数据库中所有的表 show tables;
                                                         查看表结构 desc 表名
                                                         查看创建表的SQL语句 show create table 表名
                                                 快速创建一个表结构相同的表
                                                         create table 新表名 like 旧表名
                                                 删除表
                                                         drop table if exists 表名
                                                 修改表
                                                         在表中添加一列 alter table 表名 add 列名  类型;
                                                         修改列的类型 alter table 表名 modify 列名 新的类型;
                                                         修改列的名字 alter table 表名 change 旧列名 新列名 类型;
                                                         删除列 alter table 表名 drop列名
                                                         修改表名修改字符集 rename table 表名 to 新表名 set 字符集
                         DML 对表中数据进行增删改
                                 插入(添加)数据
                                         所有的/部分的数据写出来 insert into表名 ( 字段名 1,  字段名 2,  字段名 3…)values ( 值 1, 值 2,  值 3); 注:没有添加数据的字段会使用null
                                 更新(修改)数据
                                         不带条件修改数据 UPDATE  表名 SET  字段名= 值;
                                         带条件修改数据 UPDATE  表名 SET  字段名= 值 WHERE  字段名= 值;
                                 删除表中的数据
                                         删除表记录 DELETE FROM  表名 [WHERE  条件表达式]
                                         使用 truncate 删除表中所有记录 TRUNCATE TABLE 表名;
                                         truncate 和 delete 的区别 truncate 相当于删除表的结构,再创建一张表 delete是表中有多少数据就会重复循环删除多少次
                         DQL 查询表中数据
                                 简单查询
                                         查询表所有行和列的数据 SELECT * FROM  表名
                                 指定列的别名进行查询 SELECT  字段名 1 AS  别名,  字段名 2 AS  别名... FROM  表名
                                         对列和表同时指定别名 SELECT  字段名 1 AS  别名,  字段名 2 AS  别名... FROM  表名 AS
                                         表使用别名的原因:用于多表查询操作
                                 清除重复值
                                         查询指定列并且结果不出现重复数据 SELECT DISTINCT  字段名 FROM  表名
                                 查询的结果参与运算
                                         某列数据和固定值运算 SELECT  列名 1 +  固定值 FROM  表名
                                         某列数据和其他列数据参与运算 SELECT  列名 1 +  列名 2 FROM  表名; select *,(math+english) 总成绩 from student;
                                 条件查询
                                         为什么要条件查询 如果没有查询条件,则每次查询所有的行。实际应用中,一般要指定查询的条件。对记录进行过滤
                                         条件查询的语法 SELECT  字段名 FROM  表名 WHERE  条件
                                 比较运算符
                                         > 、< 、<= 、>= 、= 、<>
                                         BETWEEN...AND 在一个范围之内,如:between 100 and 200 相当于条件在 100 到 200 之间,包头又包尾 select * from student3 where english between 75 and 90;
                                         IN( 集合)集合表示多个值,使用逗号分隔 in  里面的每个数据都会作为一次条件,只要满足条件的就会显示 select * from student3 where id in(1,3,5);
                                         LIKE ' 张%' 模糊查询
                                         IS NULL 查询某一列为 NULL 的值,注:不能写=NULL
                                         逻辑运算符
                                                 and  或 &&  与,SQL 中建议使用前者,后者并不通用。 or  或 ||   或 not  或 !    非
                                         通配符
                                                 %  匹配任意多个字符串
                                                 _    匹配一个字符
                         DCL
                                 管理MySQL中用户的权限
                 JavaWeb:使用Java语言开发互联网项目 可以理解用Java语言开发网站





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2