不能错过!服务器sql基本语句(1)(小白)

不能错过!服务器sql基本语句(小白)

不能错过!服务器sql基本语句(1)(小白)_第1张图片

初次使用web服务器:

  • 服务器端:安装XAMPP,启动文本服务器,保存网页文件
  • 客户端:在地址栏中输入服务器的地址加以访问

数据库服务器的使用——比较容易理解,但有一定的单词记忆两

项目中储存数据的方式
  • 项目中使用到的数据可能有很多,如商城中的商品信息,论坛中的帖子,ATM中的交易记录,炒股应用中股票价格等等。
      这些数据可以有如下储存方式;
  • (1)内存:速度快,但容量有限,非永久存储
  • (2)自定义结构的文件使用简单直接,但不便于大量数据查找
  • (3)Excel/Access等格式化文件:使用广泛;灵活性不足
  • (4)专用文件服务器:网络存储/云存储,可靠性高,操作复杂
  • (5)数据库都服务器:存取效率高,尤其适合海量数据;操作复杂
1.数据库服务器:几个重要的阶段
  • 网状数据库:二十世纪六十年代初

  • 层次型数据库:二十世纪六十年代末

  • 关系型数据库(RDBMS):二十世纪七十年代至今

  • 非关系型数据库(NOSQL):二十一世纪初至今

  • 当前主流数据库——关系数据库(RDBMS):

  • RDBMS服务器软件:负责储存和管理数据(对于人来看都是乱码)

  • RDBMS客户端软件:负责向服务器发起增删改查命令(显示出人能读懂的操作结果)

数据库中的数据结构

servrt => database => table => row => column
MySQL -> sun / Oracle
         ->MariaDb
linux + Apache + Mysql + php
"LAMP"组合,目前最流行的开源服务器端技术之一!
尤其适合日中小型站点,需要快速部署的web应用。

2.使用MySQL数据库
  • 服务器端:下载并按照MySQL服务器端软件
      c:\xampp\mysql
  • 服务器端:启动MySQL服务器端软件
      c:\xampp\mysql\bin\mysqld.exe
    保证端口3306被打开即可
    ========================================
  • 客户端:下载并安装MySQL客户端软件
      c:\xampp\mysql\bin\mysql.exe
  • 客户端:启动客户端,链接到服务器上,向服务器发送操作命令
      c:\xampp\mysql\bin\mysql.exe -uroot -p
    若链接服务器是未指定用户名,则默认是/匿名来宾账户!
    root后不能加分号!!还要注意大小写!!
    还可以项服务器导入一个脚本文件,把其中的SQL命令服务器:MySQL -uroot < c:f1/.sql
3.SQL命令
  • 注意:
  • 所有的SQL命令都必须以英文的分号结尾
  • 一条命令可以书写在多行中
  • SQL命令不区分大小写
  • 编写SQL命令 可以使用单行注释:#还可以使用多行注释:/**/
  • 常用的MySQL管理命令
  • quit; 断开到服务器的链接
  • show databases; 显示服务器上已有的所有数据库
  • use 库名; 开始使用指定发的数据库/进入指定的数据库
  • show tables; 显示当前库中有哪些表
  • exit 出口/退出    exist 存在
  • form 表单      from 从…
常用的SQL命令
  • SQL:Structured Query Language,结构化查询语言,专用于操作(增删改查)关系型数据库服务器中的数据,是ISO指定的一门行业标准语言。
    常用的SQL语句——重点

  • (0)设置客户端所提及的SQL命令所用的字符集

  • set names ntf8;

  • (2)新建一个数据库

    • create database 库名 charset=utf8;
  • (3)进入指定的库

  • use 库名;

  • (4)创建一个新的数据表

  • create table 表明( 列名 类型,列名 类型,列名 类型 );

  • 向表中插入一行数据/记录

  • insert into 表名 values(值1,值2,值)

  • 提示:一行中数据值的数量必须与表明中列的数量相同;字符串和日期数据必须用英文单引号或双引号括起来,数字可括也不括

  • (6)从表中删除一行记录

  • delete from 表名; #删除所有的记录行,仍保留表本身

  • delete from 表名 where 条件子句; #只删除满足条件

  • (7)修改表中的一行记录——用的比较少,最不好记忆!!

  • update 表名 set 列名=值,列名=值,列名=值; #修改所有的行

  • update 表名 set 列名=值,列名=值,列名=值 where 条件子句; #只修改满足条件的记录行

  • (8)查询表中已有的所有数据

  • select * from 表明;

SQL语句的分类

SQL语句分为四大类:

  1. DDL:Data Define Language 数据定义语言
  • 包括:create,drop,alter,tuncate
  1. DML:Data Manipulate Language 数据操作语言
  • 包括:nsert,delete,update
  1. DQL:Data Query Language 数据查询语言
  • 包括:select
  1. DCL:Data Control Labguage 数据控制语言
  • 包括:grant,revoke
mysql中的列类型——重点

- create table 表明(列名 列类型)

  • 提示:不同的数据库中列类型是不同的——MySQL中的列类型是最丰富的。
  • 一个bit:可以保存一个0或1的空间
  • 一个byte:字节,一个字节=8个bit
(1)数值类型——引号可用可不用

​ tinyint 微整数 1个字节,-128~127

​ smallint 小正数 2个字节,-32768~32767

​ int 整数 4个字节,-2147483648~2147483647

​ bigint 大整数 8个字节, 很大的数

​ float(m,d) 单精度浮点数 4个字节,1234.5678 1.23456x10^38

​ double(m,d) 双精度浮点数 8个字节,1.2343x10^308

​ decimal(m,d) 定点小数 可以保证精确计算

​ bool 布尔 真假类型,只能取值为true/1或false/0

(2)日期事件类型——必须用引号括起来

​ date 日期,数据形如 ‘2020-11-20‘

​ time 时间,数据形如 ‘10:20:3’

​ datetime 日期时间类型,数据形如 ’2010-5-15 12:10:5‘

(3)字符串类型——必须用引号括起来

char(m) 定长字符串 可能产生空间浪费问题,但存取速度快 不能超过255ar(m) character

varchar(m) 变长字符串 不会产生空间浪费,但存取速度慢 不能超过65535

text(m) 变长字符串

3.MySQL中的列约束

  • constraint:约束,表中某个列上的数据往往都是有限制的,

    char(1)只能存 “男” 或 “女”,score decimal(4,1)不能存-500.9,phone char(11)必须符合电话的格式要求,uname不能有重复之,upwd不能为空…

  • MySQL中有如下约束类型:

    (1)primary key:主键约束——必须掌握

    语法:列名 类型 primary key,

    声明为主键的列上的值(不能出现重复值),且不能为空(NULL),表中的记录会自动按照主键列上的值有大小排序——一个表中只能有一个列声明为主键列。

(2)unique:唯一约束

​ 语法:列名 类型 unique,

​ 声明为unique的列上不允许出现重复值,但可以出现null,且可以有多个null

(3)not null:非空约束

​ 语法:列名 类型 notnull

​ 声明为not null的列上不允许出现空值

(4)check:检查约束

​ 语法:列名 类型 check(条件),

​ 列如:score decimal(4,1) check(score<=100 and score>=0)

​ 提示:mysql默认不支持检查约束

(5)foreign key:外键约束

​ 语法:deptid int,

​ foreign key(deptid) references dept(did) 参考另外一个表的did

​ 声明为外键的列上出现的值必须在另一个表的主键列上存在

注意:外键列上的值可以重复,又可以为空,有的项目设计师不喜欢用外键——因为它会降低insert/update语句执行速度
(6)default:默认值约束

​ 语法:列名 类型 default 值,

​ 若某个列上未指定明确的值,将自动使用默认值

​ create table user (uid int,sex char(1), default ‘男’);

​ insert into user values(1,‘男’);

​ insert into user values(2,‘女’);

​ insert into user values(3, default); #3号用户性别为男

​ insert into user(uid)values(4); #4号用户性别为男

你可能感兴趣的:(课后总结,sql,数据库)