电子产业一站式赋能平台

PCB联盟网

搜索
查看: 218|回复: 0
收起左侧

一万五千字!你最常用的 SQL 这些核心知识点,我都帮你准备好了!

[复制链接]

1076

主题

1076

帖子

1万

积分

论坛法老

Rank: 6Rank: 6

积分
11451
发表于 2023-11-2 08:30:00 | 显示全部楼层 |阅读模式
点击上方“C语言与CPP编程”,选择“关注/置顶/星标公众号
7 R6 F% P1 k* F  t, v干货福利,第一时间送达!* a8 q; m; N: Z% _% C* @0 M2 P

* C# A, m" H- C7 o

zszd4dkhyzf6404006543.png

zszd4dkhyzf6404006543.png
: Y0 X* M) z% b3 N5 O
最近有小伙伴说没有收到当天的文章推送,这是因为微信改了推送机制,有一部分小伙伴刷不到当天的文章,一些比较实用的知识和信息,错过了就是错过了,建议大家加个星标??,就能第一时间收到推送。
! O. w" O% |; B

3aqljjpc22e6404006643.png

3aqljjpc22e6404006643.png
, E  l- \) A% [) j' {  y
小伙伴们大家好,我是飞宇。
* u" i  M& Q" T+ E- f! t今天来分享一下SQL常见知识点总结,全文一共一万五千字,建议收藏起来!6 i: \; }+ ~9 f( `  x- `2 t

  N/ q" {9 j9 ~, ]第一章 SQL的介绍
7 _, J2 Z! F0 e% [: ]4 |; J1.1、什么是sql
  • SQL:Structure Query Language。(结构化查询语言),通过sql操作数据库(操作数据库,操作表,操作数据)
  • SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准
  • 各数据库厂商(MySql,oracle,sql server)都支持ISO的SQL标准。
  • 各数据库厂商在标准的基础上做了自己的扩展。各个数据库自己特定的语法1.2、sql的分类
  • Data Definition Language (DDL数据定义语言) 如:操作数据库,操作表
  • Data Manipulation Language(DML数据操纵语言),如:对表中的记录操作增删改
  • Data Query Language(DQL 数据查询语言),如:对表中数据的查询操作
  • Data Control Language(DCL 数据控制语言),如:对用户权限的设置1.3、MySQL的语法规范和要求(1)mysql的sql语法不区分大小写( S2 X! B( ~4 w8 X
    MySQL的关键字和函数名等不区分大小写,但是对于数据值是否区分大小写,和字符集与校对规则有关。
    6 c" `! G! k. F) R. p/ C# aci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小写)
    . `7 I( x" G& A  u# a(2)命名时:尽量使用26个英文字母大小写,数字0-9,下划线,不要使用其他符号user_id  O; v4 Y& T+ c: t$ e
    (3)建议不要使用mysql的关键字等来作为表名、字段名等,如果不小心使用,请在SQL语句中使用`(飘号)引起来( k7 P* }) ^0 [) V7 r
    (4)数据库和表名、字段名等对象名中间不要包含空格+ l4 G/ ^2 i  E5 q
    (5)同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名1 C; K/ J0 U, @( m& p' f
    (6)标点符号:
      S  y# B+ E# Y; W5 X, u
  • 必须成对
  • 必须英文状态下半角输入方式
  • 字符串和日期类型可以使用单引号’’
  • 列的别名可以使用双引号"",给表名取别名不要使用双引号。取别名时as可以省略
  • 如果列的别名没有包含空格,可以省略双引号,如果有空格双引号不能省略。(7)SQL脚本中如何加注释
    2 k% {5 S, D/ \8 h. F4 S& z
  • 单行注释:#注释内容
  • 单行注释:–空格注释内容 其中–后面的空格必须有
  • 多行注释:/* 注释内容 */#以下两句是一样的,不区分大小写" p& J. j+ z4 q. }" T1 M
    show databases;: U+ n4 F6 \$ j
    SHOW DATABASES;
    5 W1 N5 Z' n) F- k+ `" i6 [#创建表格
    3 Q3 d, j( \1 h$ Q, ~1 f7 Y/ C#create table student info(...); #表名错误,因为表名有空格
      R5 _: p3 I: Q% |4 wcreate table student_info(...);
    4 _$ J4 O2 S9 p! s7 ~#其中name使用``飘号,因为name和系统关键字或系统函数名等预定义标识符重名了。
    ( E# k: |9 b7 o+ m0 u$ ]: Y* vCREATE TABLE t_stu(0 {9 X5 _% ]) Y" G. X
        id INT,; D: i4 D& J2 \. m7 D
        `name` VARCHAR(20)
    # D: k! j2 ^* @/ C! W$ m);
    ) H3 ?& c- O# X( G- k+ O( _: A, _5 Bselect id as "编号", `name` as "姓名" from t_stu; #起别名时,as都可以省略
    + e5 r4 S$ L* Y- {# E+ A* \/ iselect id as 编号, `name` as 姓名 from t_stu; #如果字段别名中没有空格,那么可以省略""% \9 B) R; m1 U& p! h
    select id as 编 号, `name` as 姓 名 from t_stu; #错误,如果字段别名中有空格,那么不能省略""
    . ]# }+ ]# z& s% r. C8 |0 v第二章-DDL操作数据库2.1、创建数据库(掌握)
  • 语法create database 数据库名 [character set 字符集][collate  校对规则]     注: []意思是可选的意思
    , T& P. C% U+ f: h字符集(charset):是一套符号和编码。
    4 V0 y/ c% ~' R
  • 练习创建一个day01的数据库(默认字符集)2 g* C! s, e5 S
    create database day01;) C* P0 J% b, J# t
    创建一个day01_2的数据库,指定字符集为gbk(了解); u- |; I6 e' Z# i
    create database day01_2 character set gbk;8 W5 L6 r2 ~. U2 j) D. N5 n
    2.2、查看所有的数据库
  • 查看所有的数据库语法
    6 x" O7 h' L; O$ ~1 d) e6 s1 m/ wshow databases; 9 s7 C# m. }5 y3 F. z! C3 p5 X% u
  • 查看数据库的定义结构【了解】语法
    0 e. w, f  H; N0 F6 R8 w7 Wshow create database 数据库名;
    3 N9 z9 F  d0 N( W- s查看day01这个数据库的定义& E" I; t8 @' S/ l
    show create database day01;
    , ^. [: y5 a2 I3 E2.3、删除数据库语法6 Q- D8 N: W) f6 ?
    drop database 数据库名;# ]; `8 G1 K+ P! O' |% `
    删除day01_2数据库
    6 I( d  ~! ?8 F9 v" rdrop database day01_2;% B, e) L+ b. r' j
    2.4、修改数据库【了解】语法9 y5 [: q7 T5 O- `' G" d
    alter database 数据库名 character set 字符集;
    ; ^6 a" ?0 G$ E8 S# k修改day01这个数据库的字符集(gbk)
    , g7 G6 _! L9 K, G' ]0 Z* Falter database day01 character set gbk;# K! l$ p$ s! N1 A. s* y
    注意:
    - K9 f3 H6 n9 {0 f, L# t
  • 是utf8,不是utf-8
  • 不是修改数据库名2.5、其他操作切换数据库, 选定哪一个数据库
    ; ~; F/ F7 Z6 euse 数据库名;     //注意: 在创建表之前一定要指定数据库. use 数据库名6 \3 f2 S2 Z- [! Y. M% J2 Q
    练习: 使用day017 M% g" ?. H9 C6 C1 J
    use day01;& s' g. k- D# @' ?7 }6 `
    查看正在使用的数据库
    : R8 X3 l8 d( z" xselect database();8 C* D0 e1 U, M( Y# K/ `- c( n9 d
    第三章-DDL操作表3.1、创建表
  • 语法create table 表名(7 P! I7 ?% z/ F9 s
    列名 类型 [约束],9 i" Q9 f4 e7 N# Y9 ~
    列名 类型 [约束]( u+ D1 U6 P. W
    ...
      D- f& o- F! j! k$ D3 S  
    . b3 V( N" p$ H3 H& w, C);  C1 v) u6 m4 e% s* k( G; R7 E2 e
  • 类型数值类型
    7 e9 C. l3 Q0 s7 u整型系列:xxxInt! X2 I9 X5 c- p/ C: O
  • int(M),必须和unsigned zerofill一起使用才有意义
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表