我是你强哥呢 发表于 2023-3-31 11:47:21

Mysql之SQL语句基础1

 一、基本概念

            ——后续的内容将会记录作者在计科学习内容

[*]DB(数据库):存储数据的仓库,数据是有组织进行存储
[*]DBMS(数据库管理系统):操纵和管理数据库的大型软件
[*]SQL:操纵关系数据库的编程语言,是一套标准
[*]有Mysql,Oracle,SQLSever,PostgreSQl 
[*]RDBMS(关系型数据库):建立在关系模型基础上,有多张相互连接的二维表组成的数据库
  特点:

[*] 使用表存储数据,格式统一,便于维护
[*]   使用sql语句操作,标准统一,使用方便
  SQL的通用语法:

[*] SQL语句可以单行或者多行书写,以分号结尾
[*]   SQL语句可以使用空格/缩进来增强语句的可读性
[*]   Mysql数据库的SQL语句部分区分大小写,关键词建议使用大些
[*]   注释:单行注释--注释内容或#  ;多行注释/*  */
  SQL的分类:


[*]DDL:数据定义语言,定义数据对象(数据库,表字段)
[*]DML:数据操作语言,对数据库表中的数据进行增删改
[*]DQL:数据查询语句,查询数据库中表的记录
[*]DCL:数据控制语言,用来创建数据用户,控制DB的访问权限
 二、操作

  DDL操作:(所用软件DataGrip)


[*]查询:

[*]查询所有数据库:Show databases;
[*]查询当前数据库:Select database ();
[*]创建:Creat database 数据库名 ;



[*]

[*]删除:drop database数据库名;
[*]使用:use 数据名;

 

[*]DDL表操作——查询

[*]查询当前数据库所有的表:Show tables;
[*]查询表结构:desc 表名;
[*]查询指定表的建表语句:Show create table 表名;DDL——表操作——创建:
[*]Create table 表名(
    字段1   字段1类型,
   字段2   字段2类型
);<br><br>   字符串类型:
[*]char(10):性能好
[*]varchar(10):性能较差
[*]例如:用户名 user name varchar(50)
[*]例如:性别 gender char (1)

[*]DDL——表操作——修改

[*]添加字段:Alter table 表名 add 字段名 类型(长度)[约束]
[*]修改数据类型:Alter table 表名 modify 字段名 新数据类型(类型)
[*]修改字段名和字段类型:Alter table 表名 change 旧字段名 新字段名 类型(长度)[约束]
[*]删除字段:Alter table 表名 drop 字段名;
[*]修改表名:Alter table 表名 rename to 新表名;



[*]DDL表操作——删除

[*]删除表:drop table 表名;
[*]删除指定表,并重新创建该表:truncate table 表名;

    DML:用来对数据库中表的数据记录进行增删改操作


[*]给指定字段添加数据:Insert into 表名 (字段名1,字段名2...)Values(值1,值2...);
[*]给全部字段添加数据:Insert into 表名 values(值1,值2...);
[*]批量添加数据:Insert into 表名(字段名1,字段名2)values(值1,值2...),(值1,值2...);
Insert into 表名values(值1,值2...),(值1,值2...);


[*]注意:插入数据时,指定的字段顺序需要与值的顺序是一一对应的。

[*]  字符串和日期数据应该包含在引号内
[*]      插入的数据大小,应该在字段的规定范围

    DML:修改数据

update 表名 set 字段名1=值1,字段名2=值2,...;    删除数据: 

delete from 表名;     DQL:用来查询库中表的记录


[*]select字段列表 
[*]from表名列表
[*]where条件列表
[*]group by分组字段列表
[*]having分组后条件列表
[*]order by排序字段列表
[*]limit分页参数


[*]查询多个字段select 字段1,字段2...from 表名;
select *from 表名;
[*]设置别名select 字段1 ,字段1 ...from 表名;
[*]去除重复记录select distinct 字段列表 from 表名;> >=
< <=
=
<>或!=
between...and在某个范围之内(含最小值,最大值)
in(...)在in之后的列表中的值,多选一
Like 占位符,模糊匹配(匹配单个字符,%匹配任意字符)
: select * from 表名where name Like '%666'

is Null是Null
and或&&
OR或||
NOT或! 
[*]排序方式:
[*]ASC:升序(默认值)
[*]DESC:降序

[*]注意:如果是在多字段排序,当第一个字段值相同时,才会根据第二个字段进行排  例如:select * from employee order by age asc;DQL——分页查询
[*] 语法:select 聚合函数(字段列表) from 表名;
select count(*) from employee; 
[*]   注意: 
[*] 启始索引从0开始,启始索引=(查询页码-1)*每页显示记录数
[*]分页查询是数据库的方言,不同的数据库有不同的实现,如果查询的第一页数据,其实索引可以省略,直接简写limit 10




来源:https://www.cnblogs.com/wenhx0212/p/17245993.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Mysql之SQL语句基础1