澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:SQL语句学习,MySQL数据类型

2019-11-04 作者:数据库网络   |   浏览(97)

转载地址:

 * 以下内容是小编在学习SQL(卡塔尔国的时候的就学笔记

MySQL常用数据类型
整数:tinyint,smallint,int,bight
浮点数:float(p(所占总位数卡塔尔、s(小数点所占位数卡塔尔国卡塔 尔(英语:State of Qatar)4字节
double(p、s)8字节
定点数:decimal(p、s)
日期/时间:data、time、datatime
文本:char、varchar、text
二进制:bit
1.整形
MYSQL数据类型-整型
TINYINT------1个字节---负128~127 ,无符号0到255
SMALLINT- --2个字节----负32768到32767, 0到65535
MEDIUMINT----3个字节---负8388608到8388607, 0到16777215
INT----------4个字节---负2147483648到2147483647 0到4294967295
BIGINT-------8个字节----2的63次方~2的63次方-1;无符号:0~2的64次方-1;
2浮点型:
@MySQL——(二卡塔尔数据类型与操作数据表——浮点型
1、浮点型
FLOAT[(M,D)]:这里M指总位数,D指小数点后位数。如FLOAT(7,2)则能代表的最大值为:99999.99
DOUBLE[(M,D)]
2、常常情况下使用FLOAT足够
1.float[M,D],4个字节
2.double[M,D],8个字节
(M-总位数,D-小数位数)
日子和日期
1、YEAR:1970至2069
2、TIME:-838:59:59至838:59:59
3、DATE:1000-1-1至9999-12-31
4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59
5、TIMESTAMP存款和储蓄范围:壹玖陆陆-1-1 00:00:00到2037-12-31 23:59:59
MySQL数据类型(4卡塔 尔(阿拉伯语:قطر‎:字符型
1、CHA福睿斯(M):定长类型,举个例子CHA奔驰M级(5),如若大家只赋值abc,那么系统会自行在后头补七个空格0——255
2、VARCHATiguan(M):变长类型,L 1个字节,在那之中L<=M且0<=M0——65535
3、ENUM('value1','value2'...卡塔 尔(阿拉伯语:قطر‎枚举值,提供多少个选项,选择个中一个,如:性别('男','女','保密'卡塔 尔(英语:State of Qatar)
4、SET('value1','value2'...) 最多七十多少个分子,能够任选在那之中此中多少个,大肆排列组合
MEDIUMTEXT -L 3字节, L<2^24
LONGTEXT -L 4字节, L<2^32
ENUM('value1','value2'...) -1或2个字节,决议于枚举值的个数(最多655叁十一个值)
SET('value1','value2'...) -1、2、3、4或8个字节,决定于set成员的数据(最多陆17个成员)
比如说char(M)的表达,官方说的是:会占用M × w个字节, 0 <= M <= 255, where w is the number of bytes required for the maximum-length character in the character set。w的情致是某种字符编码中侵占的最大空间。所以实际上这里M的乐趣正是实在的字符个数的意趣, 就算这些这种编码下各类字符占用2个字节、3个字节,也能积攒最大2五十七个字符。实际不是如ppt中所说的最大M个字节。
再有关于varchar(M卡塔尔的说法,官方说的是:L 1 bytes if column values require 0 − 255 bytes, L 2 bytes if values may require more than 255 bytes。所以那边不必然是L 1,还恐怕是L 2。ppt中所说的最长是655三十个字节,然则又是L 1,1个字节鲜明是相当不足存款和储蓄那么大的长度的,所以ppt照旧某个出入的。
还恐怕有任何的tinytext,text,mediumtext,longtext,这几个项目最大尺寸就是2^8-1个字节,2^16-1字节,2^24-1个字节,2^32-1个字节,要是某种字符编码中,每种字符占用2个字节,那么总的能够积攒的字符数将在减价。
@MySQL——(二)数据类型与操作数据表——创建数据表
一、数据表
1、数据表(或表卡塔 尔(英语:State of Qatar)是数据库最要害的组成都部队分之大器晚成,是别的对象的功底
2、表是一个二维表,行称为【记录】,列称为【字段】
二、成立数据表
1、首先张开数据库(数据库要留存卡塔 尔(英语:State of Qatar): USE 数据库名称
2、创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(
column_name(列名称) data_type(列类型),
.... )
举例——
CREATE TABLE tb1(
username VARCHAR(20),
userage TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED,
);
UNSIGNED 无符号

 

 * 学习时选择的数据库软件是MySQL数据库可视化学工业具SQLyogEnt


* 以下内容是本身在攻读SQL(卡塔 尔(阿拉伯语:قطر‎的时候的上学笔记

 * 假使大家有开采什么样窘迫之处请告诉本身。谢啦!!☆⌒(*^-゜)v

查阅数据
翻开数据表:(查看选用的数据库的表卡塔尔
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr];(可以用来查看别的数据库的表列表卡塔尔国
例:
SHOW TABLES;//查看当前甄选的数据库的全体表
SHOW TABLES FROM TEST;//查看TEST数据库中的全数表,当前筛选数据库地方不改变。
SELECT DATABASE();//查看当前增选的数据库
SHOW TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
不仅能够查看当前数据库中的数据表,也可查看其余数据库中的数据表

 * 学习时利用的数据库软件是MySQL数据库可视化学工业具SQLyogEnt

 * 在此必要专一的是,和SqlServer相比较MySQL不扶植事务处理,未有视图,没有存款和储蓄进程和触发器,未有数据库端的客户自定义函数,无法完全使用标准的SQL语法

mysql> show databases;
--------------------
| Database |
--------------------
| information_schema |
| bookstore |
| mysql |
| yggl |
--------------------
4 rows in set
mysql> use bookstore;
Database changed
mysql> show tables;
---------------------
| Tables_in_bookstore |
---------------------
| book |
---------------------
1 row in set
mysql> show tables from bookstore;
---------------------
| Tables_in_bookstore |
---------------------
| book |
---------------------
1 row in set
.查看数据表列表
1.翻看数据表列表
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]
SHOW TABLES; //查看当前数据库中的表
SHOW TABLES FROM mysql;
FROM之后,当前数据库不会生出改换
SHOW COLUMNS FROM tb1; 查看tb第11中学的数据表结构
笔录查找
翻看数据表
SHOW table-name;
插入记录
INSERT [INTO] table-name [(column-name,......)] VALUES(val,....); \字符要加''号。
\table-name前边未有标记插入列的气象下,每一列的值都要按顺序插入才行。
记录查找
SELECT expr,...FROM table-name;
SELECT * FROM test; \*号是切实全部字段。
SELECT 查找关键字 expr 字段 *代表全体
FROM tb1_name哪个数据表
空值与非空
风流倜傥、数据表(或表卡塔尔国是数据库最要紧的组成部分之意气风发,是其他对象的幼功。
数据表是八个二维表,行称为【记录】,列称为【字段】
二、创造数据表
1、首先打开数据库(数据库要存在卡塔 尔(英语:State of Qatar): USE 数据库名称
2、创制数据表:CREATE TABLE [IF NOT EXISTS] table_name(
column_name(列名称) data_type(列类型),
.... )
举例:
CREATE TABLE tb1(
username VARCHAR(20),
userage TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED,
);
UNSIGNED 无符号
空值与非空:NULL,字段值可感觉空 NOT NULL,字段值禁绝为空,不赋值会报错
三、查看数据表列表
1、查看数据表是或不是存在:SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr ]
2、查看有些表中全数列的消息:SHOW COLUMNS FROM tbl_name;
四、记录的插入
1、插入记录 INSERT [INTO] tbl_name [(col_name,...) ] VALUES(val1,val2,....)
2、部分字段赋值使用(col_name1,col_name2,...)
3、插入列col_name能够归纳,但必得为富有字段输入音讯,否则报错
五、记录的寻觅
1、查找记录:SELECT expr,... FROM tbl_name;
SELECT * FROM tbl_name;

 * 假如大家有发掘什么样狼狈的地点请报告小编。谢啦!!☆⌒(*^-゜)v

 

自行编号
1.自动编号 AUTO_INCREMENT
电动编号,且必需与主键协作使用
2.自行编号AUTO_INCREMENT作用
1、自动编号:保险记录的唯意气风发性
2、类型必需为整型(能够是FLOAT(5,0)等,小数点后必需为0卡塔尔国,必得和主键P凯雷德IMA陆风X8Y KEY组合使用
3、默许情况下,开头值为1,每回的增量为1
私下认可情形下,初步值为1, 每一次增量为1.
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHA大切诺基(30) NOT NULL); //报错,自动增量字段必需设置成主键
主键节制

 

第一章 SQL根基教程

主键能够写为PEnclaveIMA福睿斯Y KEY,也得以写成KEY
每张数据表只好存在叁个主键
主键有限扶助记录的唯黄金时代性
主键自动为NOT NULL,也正是说必要求为主键赋值。但若是主键采纳了AUTO_INCREMENT,那么无需手动赋值。
auto_increment必须和主键primary key一同使用,不过主键primary key不自然要和auto_increment一块使用
(主键的字段是足以赋值的,但无法赋近似的值卡塔尔
主键限定
1、唯少年老成性(能够赋值然而不能够给多个记录赋同样的值卡塔 尔(英语:State of Qatar)每张表只设有二个主键
2、非空,插入格局与NOT NULL相近
3、自动编号(AUTO_INCREMENT卡塔尔国必需与主键(PLacrosseIMA奇骏Y KEY卡塔尔国搭配使用,主键能够不与机动编号一齐利用
创造叁个带主键的表:
CREATE TABLE user(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL
-> );
Database changed
进而叁遍插入数据 便会有号码现身 可是豆蔻梢头旦去除了 编号会冒出抛锚
唯后生可畏约束
唯风华正茂限制与主键节制的区分:
UNIQUE KEY 一张数据表能够有多个,而P科雷傲IMA安德拉Y KEY一张数据表只好有贰个
唯黄金年代节制的字段可感到空,主键限制的字段不能够为空
(唯生龙活虎约束若八个字段为空,看起来就像是不可能担保唯风度翩翩性,但存储的独有一个‘空’,所以依旧承保了字段的唯风姿罗曼蒂克性卡塔尔
UNIQUE KEY
(1卡塔 尔(阿拉伯语:قطر‎唯大器晚成限定
(2卡塔 尔(英语:State of Qatar)唯风姿浪漫节制能够确定保证记录的唯风度翩翩性
(3卡塔尔国唯生机勃勃约束的字段可认为空值(NULL卡塔尔国
(4卡塔 尔(阿拉伯语:قطر‎每张数据表能够存在多少个唯生龙活虎节制

第一章 SQL底蕴教程

一、SQL简介

暗中认可限制

一、SQL简介

1:什么是SQL?

  1. 主键约束 primary key 与Auto_Increment 自动编号合作使用
  2. 唯大器晚成约束 unique key
  3. 暗许节制 default
    示例:
    CREATE TABLE tb6(
    id SMALLINT UNSIGED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(20) NOT NULL UNIQUE KEY,
    sex ENUM('1','2','3') DEFAULT '3',)//表示当sex没有赋值时,私下认可值为3
    总结
    数据类型 整型 (tinyint smallint mediumint int bigint卡塔 尔(英语:State of Qatar)
    浮点型 (FLOAT{[M,D]},DOUBLE{[M,D]}卡塔尔M:总位数,D:小数点后位数
    日期 (YEAR DATE TIME TIMESTEMP)
    字符型 (CHAR VARCHAR TEXT)
    DOS 分界面连接数据库 mysql -u顾客名 -p密码 -hHOST
    浮现数据库 SHOW DATABASES;
    来得表结构 SHOW COLUMNS FROM table;
    显示全数表 SHOW TABLES;
    步向数据库 USE 数据库;
    创办数据库 CREATE DATABASE 库名;
    创立表 CREATE TABLE 表名(字段及消息卡塔 尔(阿拉伯语:قطر‎;
    安排数据 INSERT INTO table []VALUES();[]为空表达插入全部的值
    查询数据 SELECT 字段 FROM table WHERE 条件
    自增自动编号 auto_increment
    主键约束 P奥德赛IMA福特ExplorerY KEY(有auto_increment的听其自然是主键,主键不自然有auto_increment)
    唯黄金年代节制UNIQUE KEY
    暗中认可限制 DEFAULT 当未有赋值时则自动增加暗许值
    4.非空束缚:NOT NULL
    5.外键限定:
    *CREATE TABLE tb_name(
    ...,
    ...
    数据表操作:
    )//创立数据表(结构卡塔尔国
    *SHOW COLUMNS FROM tb_name//查看数据表结构(字段卡塔 尔(阿拉伯语:قطر‎
    *INSERT tb_name[(...)] VALUES(...)//向数据表内插入记录
    *SELECT *FROM tb_name//查看数据表的记录

1:什么是SQL?

A:SQL指结构化查询语句    B:SQL使大家有技术访谈数据库     C:SQL是风姿浪漫种ANSI(美利哥国标化协会)的行业内部Computer语言


A:SQL指结构化查询语句    B:SQL使我们有力量访谈数据库     C:SQL是生龙活虎种ANSI(U.S.国标化组织)的专门的工作Computer语言

2:SQL能做什么?

自律以致改良数据表
外键节制:
FOREIGN KEY (子表字段名) REFERENCES 父表 (父表字段名)
务求:保持数据生机勃勃致性,完整性;实现风度翩翩对意气风发或意气风发对多关系。
数据表的积存引擎只可以为InnoDB:配置文件中default-storage-engine=INNODB;
父表和子表禁绝行使偶尔表(子表:具备外键列的表;父表:子表参照的表)
外键列和参照列必得具有雷同的数据类型。数字长度或有无标记必需大器晚成致,字符长度可不如
外键列和参照列必需创建索引。倘诺参照列不真实索引的话,MySQL将自动成立索引
SHOW INDEXES FROM 表名 查询表格中的索引
开采三个数据库
USE test
创设一个顾客数据表
CREATE TABLE users(
-> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT
澳门新萄京官方网站,-> username VARCHAR(10) NOT NULL
->pid SMALLINT UNSIGNED//pid和表province中id字段类型都要完全平等
->FOREIGN KEY (pid) REFERENCES provinces (id)
->);
子表是users,父表是province
外键列pid,参照列id,
province的id加过主键,主键在创立的时候会活动创制索引。所以id字段上意气风发度创设过索引,参照列已经有了目录
突显索引SHOW INDEXES FROM province;
外键列上大家从没为pid钦赐主键,系统活动成立索引
在 MY.ini 文件中编辑暗许的囤积引擎:default-storage-engine=INNODB;
来得创制表的口舌:SHOW CREATE TABLE table_name;
查看表是还是不是有目录:SHOW INDEXS FROM table_name;
以网格查看表是还是不是有目录:SHOW INDEXS FROM table_nameG;
Eg:
CREATE TABLE table_name1(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL
)
CREATE TABLE table_name2(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL,
pid SMALLINT UNSIGNED,
FOREIGN KEY (pid) REFERENCES table_name1(id) /* 外键 pid 参照 table_name1中的 id 字段 */
)

2:SQL能做哪些?

*面向数据库试行查询   *从数据库中抽出数据   *向数据库插入新的记录   

CASCADE:删除或更新父表中的数据对应的去除或更新子表中的相相配的行;
SHOW CREATE TABLE tb_name;//呈现数据表创制时的一声令下;
开创子表:users1;
>CREATE TABLE users(
>id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
>username VARCHAR(10) NOT NULL,
>pid(外键) SMALLINT(与参照键类型相似) UNSIGNED(与参照键有无符号类型也要豆蔻梢头律),//外键的作用体现在此:若是大家要加多贰个省份的字段,供给增加个char型的,今后有了关系型数据库,大家只需求仓库储存省份的id就能够;
>FOREIGN KEY (pid) PREFERENCES provinces (id) ON DELETE CASCADE,
>);
INSERT provinces(pname) VALUES('A');
INSERT provinces(pname) VALUES('B');
INSERT provinces(pname) VALUES('C');
INSERT users1(username,pid) VALUES('Tom',1);
INSERT users1(username,pid) VALUES('Jerry',2);
INSERT users1(username,pid) VALUES('Lucy',3);
当删除provinces中的id=3的数据C时,相应的users第11中学的露茜也会被删掉,更新的话相仿如此;
SET NULL://从父表删除或更新行,会安装子表中的外键列为NULL,若是使用该选项,必需保障子表列没有一点名NOT NULL
RESTSportageICT://谢相对父表的删减或更新操作;
NO ACTION://标准的SQL语句,在MYSQL当中与RESTRICT相同
实际上成本中,大家非常少使用物理的外键节制,而是利用逻辑限定;无理的外键限制唯有innoDB这种存款和储蓄引擎才会支撑,MYISAM这种斯特林发动机就不协助物理的外键限制。反过来讲,当我们利用到的引擎为MYISAM时,只可以选用逻辑外键(即五个表的规划的逻辑关系卡塔尔。
外键约束的参照他事他说加以考察操作:
1、CASCADE:从父表删除或更新且自动删除或更新子表中非常的行。
2、SET NULL:从父表删除或更新行,并安装子表中的外键列为NULL。如若应用该选项,必需保险子列表未有一点点名NOT NULL。
3、REST酷威ICT:拒却对父表的删减或更新操作。
4、NO ACTION:规范SQL的基本点字,在MySQL中与REST奥德赛ICT相通。
FOREIGN KEY (子表列名卡塔尔国 REFERENCES FROM 父表名(父表列名卡塔尔[ON DELETE|UPDATE CASCADE|SET NULL|RESTRICT|NO ACTION];
在实质上开销中,存款和储蓄引擎不为INNODB,不能使用FOREIGN KEY,遍及运用逻辑方式。
.表级限制与列级约束
1.表级限制与列级限制
(1卡塔尔国对贰个数据列组建的约束,称为列级约束
(2卡塔 尔(英语:State of Qatar)对四个数据列创设的牢笼,称为表级约束
(3卡塔 尔(阿拉伯语:قطر‎列级约束既可以够在列定义时宣称,也得以在列定现在注脚
(4卡塔 尔(英语:State of Qatar)表级约束只好在列定义后声称
2.主键、外键、非空、唯生龙活虎、default都是封锁标准。主键、外键、唯黄金时代不只能够用作表级节制,也可看做列级约束
( not null, default 卡塔 尔(阿拉伯语:قطر‎唯有列级约束
累计封锁
1.增多主键约束
CONSTRAINT_PK主键名为PK
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)
e.g:ALTER TABLE users ADD CONSTRAINT PK_users_id PRIMARY KEY (id);
2.加多唯后生可畏限制
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
e.g:ALTER TABLE users ADD UNIQUE (username);
3.增多外键约束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition
e.g:ALTER TABLE users ADD FOREIGN KEY (pid) REFERENCES provinces (id)
4.增加/删除默许限制 DEFAULT
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
e.g:
ALTER TABLE users ADD age TINYINT UNSIGNED NULL;
ALTER TABLE users ALTER age SET DEFAULT 15;
ALTER TABLE users ALTER age DROP DEFAULT;
除去限制
生龙活虎限定的 index_name 可通过 SHOW INDEX FROM table_nameG; 查询
去除主键节制:
ALTER TABLE table_name DROP PRIMARY KEY;
删去唯生龙活虎节制:
ALTER TABLE table_name DROP INDEX index_name;
剔除却键约束:
ALTER TABLE table_name DROP FOREIGN KEY (fk_symbol卡塔尔国通过查询系统暗许给的名字;
外键约束的名字 fk_symbol 可通过 SHOW CREATE TABLE table_name; 查询
除去外键节制,查找CREATE TABLENAME 找到系统为外键约束增多的名字
添加/删除列
1、增加单列:若是钦命FI奥迪Q3ST,则在一切表的最前方,暗中同意不写为整个表的尾声方;假设内定AFTEPAJEROcol_name,则在col_name的后面。
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST AFTER col_name]
2、添扩充列:不能钦赐FIPRADOST/AFTE哈弗、只好默许为最终方。
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...)
3、删除单列
ALTER TABLE tbl_name DROP [COLUMN] col_name
4、删除多列(Ps:删除一列的同有的时候间,新添一列。其间用逗号隔离卡塔尔
ALTER TABLE tbl_澳门新萄京官方网站:SQL语句学习,MySQL数据类型与操作数据表。name DROP [COLUMN] col_name, DROP [COLUMN] col_name,DROP [COLUMN] col_name

*面向数据库实践查询   *从数据库中抽取数据   *向数据库插入新的记录   

*更新数据库中多少   *从数据库删除记录   *开创数据库   *创建表   

澳门新萄京官方网站 1

*更新数据库中数量   *从数据库删除记录   *成立数据库   *创建表   

*创造存款和储蓄进度  *创办视图   *安装表、存款和储蓄进程和视图的权柄

操作数据表中的笔录
INSERT 插入记录
1、INSERT 插入记录
语法1:INSERT [INTO] 表名 [(列名1,列名2,...)] VALUES(列值1,列值2,...),(...),...;
对此自动编号的字段,插入“NULL”或“DEFAULT”系统将机关依次依次增加编号;
对此有暗许节制的字段,能够插入“DEFAULT”表示使用暗中认可值;
列值可传唱数值、表明式或函数,如密码可以用md5()函数实行加密(如md5('123')卡塔尔国;
可同有的时候间插入多条记下,多条记录括号间用逗号“,”隔断
语法2:INSERT [INTO] 表名 SET 列名1=列值1, 列名2=列值2,...;
这种艺术叁遍只好插入一条记下;列值中有全自动编号、暗中认可值或Boolean类型均能够不赋值(使用子查询)
语法3:INSERT [INTO] 表名(列名1,...) SELECT 列名1,... FROM 表名 [GROUP BY/HAVING/ORDER BY/LIMIT...];
诚如用来将此外表的数码插入到钦命表,注意相应
2、单表更新 UPDATE
UPDATE 表名 SET 列名1=列值1 [,列名2=列值2, ...] [WHERE 条件];(如条件为 列名=列值 更改某一字段的值)
简易条件则更新拥有记录该列的值
3、单表删除 DELETE
DELETE FROM 表名 [WHERE 条件];
轻易易行条件则暗许删除该表全体记录(仅删除全体记录,不删除数据表);
插入自动编号的字段时,号数为已部分最中号数 1,纵然中间有空号数也是那样(如12356,插入记录后为123567卡塔尔
INSERT// 插入记录
第一种:
insert tb_name [column_name]values(...)[,(...),(....)];--相比常用,能够三回性插入多条记下,而且能够输入表明式以致是函数,不过不可能实行子查询。
第二种:
insert tb_name set column_name={exprdefault};--能够实行子查询,然而只好插入一条记下的多个字段,但一次只好插入一条记下(INSERT [INTO] 表名 SET 列名1=列值1, 列名2=列值2,...;)。
第三种:
insert table_name [(colname...)] select语句.....--这种艺术就是把询问到的三个表结果插入到另二个点名数量表中。
单表更新
单表更新:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【平常的话要用WHERE钦定地方,不然全部数据都会被更新】
例:
不点名地点:UPDATE users set age = age 5,sex = 0; 使表里全体记录的age加5
点名地方: UPDATE users set age = age 10 WHERE id % 2=0; 取id为偶数的任务
update更新数据
update <表名>
set <列名>=<表达式>,[,<列名>=<表达式>]...
[where <条件>];
除去记录
1、删除记录DELETE:分为单表删除和多表删除
2、单表删除:DELETE FROM tbl_name [WHERE where_conditon];
3、若不增加WHERE则删除【全部记下】
除去后再插入,插入的id号从最大的往上加,实际不是补偿删除的。
delete from users where id=6;
澳门新萄京官方网站:SQL语句学习,MySQL数据类型与操作数据表。insert users values (null,'111','222',33,null); 删除后再插入,插入的id号从最大的往上加,并非补充删除的。
询问表明式
每七个表明式表示想要的一列,必得至稀有二个
多少个列之间以克罗地亚共和国(Republika Hrvatska卡塔尔国语逗号分隔
星号(*)表示为此列 tbl_name.*能够象征命名表的保有列
询问表明式可以接纳[As]alias_name为其予以别名
别称可用来GROUP BY,OOdysseyDRE BY或HAVING子句
SELECT 字段现身顺序影响结果集现身顺序,字段别称也影响结果集字段别称。
大器晚成、查找记录
1、语法:
SELECT select_expr [,select expr2...] 只查找某三个函数或表达式
[
FROM table_references 查询表名
[WHERE where_conditon] 查询条件
[GROUP BY {col_name|position} [ASC|DESC],...] 按有些字段实行分组,相似的只突显第二个
[HAVING where_conditon] 分组时,给出彰显规范
[ORDER BY {col_name|expr|position} [ASC|DESC],...] 排序
[LIMIT {[offset,]row_count|row_count OFFSET offset}] 限定再次回到数量
}
2、查询表明式的顺序会影响结果顺序
每种表明式表示想要的一列,必得有起码二个
四个列直接以朝鲜语逗号分隔
星号*意味着具有列
3、使用tbl_name.col_name来代表列记录,那多表查询时方可分别开同名的列
4、使用[AS] alias_name为其授予小名,别名能够用于GROUP BY、OTiguanDER BY或HAVING子句,举例SELECT id AS userId,username AS uname FROM users; 那样查询出来的结果会用别称表示

*创制存储进程   *开创视图   *安装表、存款和储蓄进度和视图的权力

3:RDBMS

where 条件表明式
where 后各样依照条件(>、<、=、>=、<=、!=、<>、IS NOT NULL),根据逻辑(and,or卡塔尔国,依据结合方式left join、right join等,依照情势相配(IN、NOT IN、like、not like、regexp),使用各样MySQL函数和表明式,从表集结中筛选记录。
法则表明式
对记录进行过滤, 若无一点名WHERE子句,则显得全体记录。
在WHERE表明式中,能够使用MySQL协助的函数或运算符。
询问结果分组 GROUP BY
[GROUP BY {col_name|position} [ASC|DESC],...]
ASC:升序,默认
DESC:降序
position:SELECT语句中列的序号
eg. ELECT sex FROM users GROUP BY sex;对users中的sex按sex举行分组
eg. SELECT * FROM users GROUP BY 1;(这里的1表示查询的第三个字段,这里询问全体字段新闻,第三个字段正是id,所以会国有国法id字段进行分组卡塔尔1表示SELECT语句中第叁个冒出的字段,即地方。
提出BY后写列名称,不写地点,因为职责还要人为数。
在乎:倘诺存在相符的值(比如地点的age也会有几个相像的值卡塔尔,只会保留三个。但使用O安德拉DER BY 就不会轻巧。
having 语句分组
having 语句分组,用在group by前边扩充条件,决断式中的字段是必需出往前前面select中的 大概是足以包罗没有出将来前边查询中的字段的一个聚合函数count(卡塔 尔(英语:State of Qatar),max(卡塔尔国等等
[HAVING when where_condition]
SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错
SELECT sex, age FROM users GROUP BY 1 HAVING age > 35;
SELECT sex FROM users GROUP BY 1 HAVING count(id) >= 2;
(那条指令,指依据sex分组,分成了两组sex=0和sex=NULL,条件id数大于2的预先留下展现,显著sex=0个数有8>2故留下,而sex=NULL个数为1,不满意条件,故不显得。借使条件改成count(id)>=1,则会显得sex为0和NULL五个分组。卡塔尔
聚合函数长久唯有叁个回去结果
count是记录个数的,
** HAVING 分组条件 **
从未有过 HAVING 时,GROUP BY 是对全数记录实行分组并出示结果。
有 HAVING 时,对全体记录分组后只把符合HAVING条件的记录突显出来。
举例:SELECT username,age FROM users GROUP BY age HAVING count(id)>=2;
这句话的情趣是:遵照age分组后,把组员数量当先等于2的组展现出来。
order by对查询结果举办排序
order by
对查询结果进行排序,默许是升序
order by{col_name}
select * from users order by id desc; //对三个字段排序
select * from users order by age,id desc; //多个字段同期排序
desc是降序
1、对查询结果实行排序:[ORDER BY [col_name | expr | position } [ASC|DESC],...]elect * from user order by id desc;
2、能够同临时候按多条字段张开排序,法规是先按前边的字段排,在根基上再按后边字段排。
3、如:SELECT * FROM users O奥迪Q5DERAV4 BY age,id DESC; 先依照age排序,若是age有重复的,重复的字段里按id排序
LIMIT:限定查询结果回到的多少
[LIMIT {[offset,] row_count|row_count OFFSET offset}]
SELECT语句从0开首编号
offset:偏移量
row_count:再次来到结果的数目 [LIMIT{[offset,]row_countrow_count OFFSET offset}]
eg. SELECT * FROM users LIMIT 2; // 从第一条早先(第八个为0卡塔 尔(英语:State of Qatar),再次来到两条
SELECT * FROM users LIMIT 2,3 ;//从第三条开始(第一个为0卡塔尔国,再次来到三条
其三种insert,数据从三个表插入到另两个表 将查询结果写入到另二个数据表中:
INSERT table_name(column_name) SELECT ...
eg:
INSERT test SELECT username FROM users WHERE age >=30; // 字段不合作提示
INSERT test(username) SELECT username FROM users WHERE age >=30;
{
相对而言分组:
SELECT sex, age FROM users GROUP BY 1 HAVING age > 35;
分组用的是HAVING必要HAVING后的标准依然是聚合函数,要么字段在前方现身;
而插入用的是WHERE 未有上述提到的多少个约束
}
总结
记录操作:增,改,删,查
INSERT://增添记录,有二种办法。
INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr|DEFAULT},...),(...),...
INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...
INSERT [INTO] tbl_name [(col_name,...)] SELECT...
UPDATE://更新数据
单表更新
UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT},[col_name2={expr2|DEFAULT}]...[WHERE where_condition]
多表更新
DELETE : //删除数据
单表删除
DELETE FROM tbl_name [WHERE where_condition}
多表删除
SELECT: //查询
SELECT select_expr [,select expr2...] 只查找某一个函数或表明式
[
FROM table_references 查询表名
[WHERE where_conditon] 查询条件
[GROUP BY {col_name|position} [ASC|DESC],...] 按某些字段实行分组,相像的只显示第三个
[HAVING where_conditon] 分组时,给出展现典型
[ORDER BY {col_name|expr|position} [ASC|DESC],...] 排序
[LIMIT {[offset,]row_count|row_count OFFSET offset}] 限定重回数量
]

3:RDBMS

瑞虎DBMS是指关系型数据库管理系列

帕杰罗DBMS是指关系型数据库管理种类

福特ExplorerDBMS是SQL的底蕴,同样也是负有今世数据库系统的幼功,如MS SQL Server、IBM DB2、Oracle、MySQL以至Microsoft Access

宝马X3DBMS是SQL的功底,同样也是兼顾今世数据库系统的根底,如MS SQL Server、IBM DB2、Oracle、MySQL以至Microsoft Access

奥迪Q3DBMS中的数据存款和储蓄在被称为表的数据库对象中

ENCOREDBMS中的数据存款和储蓄在被称为表的数据库对象中

表是不毫无干系系的多少项的集中,他由列和行组成。

表是唇亡齿寒的数目项的成团,他由列和行组成。

二、SQL语法

二、SQL语法

留心:SQL对大小写不明感!!!

只顾:SQL对大小写不明感!!!

1:SQL语句后边的分局

1:SQL语句前边的支行

或多或少数据库系统需求在每条SQL命令的背后使用分号。

一些数据库系统要求在每条SQL命令的前面使用分号。

子集团是在数据库系统中分隔每条SQL语句的行业内部方法,那样就足以在服务器的大同小异央求中实践一条以上的语句。

支行是在数据库系统中分隔每条SQL语句的专门的学问措施,那样就足以在服务器的后生可畏律恳求中实施一条以上的语句。

倘使利用的是MS Access和SQL Server 二〇〇〇,则不供给在每条SQL语句之后采纳分号,但是某些数据库须求必得利用分号。

假诺利用的是MS Access和SQL Server 二〇〇一,则无需在每条SQL语句之后采纳分号,可是某个数据库必要必得接收分号。

2:SQL DML和DDL

2:SQL DML和DDL

能够把SQL分为多个部分:数据操作语言(DML卡塔尔和数据库定义语言(DDL卡塔尔国

能够把SQL分为多个部分:数据操作语言(DML卡塔 尔(阿拉伯语:قطر‎和数据库定义语言(DDL卡塔尔国

SQL(结构化查询语句卡塔尔国是适用于实施查询的语法。但是SQL语言也含有用于创新、插入和删除记录的语法。SQL的DML部分:select、update、delete、insert into 。 数据库定义语言(DDL卡塔尔部分使大家有力量创立或删除表格,我们也能够定义索引(键卡塔 尔(英语:State of Qatar),规定表之间的接二连三,以至表间的羁绊:

SQL(结构化查询语句卡塔尔国适用于实行查询的语法。不过SQL语言也隐含用于更新、插入和删除记录的语法。查询和换代构成了SQL的DML部分:select、update、delete、insert into 。 数据库定义语言(DDL卡塔尔国部分使大家有力量创设或删除表格,我们也足以定义索引(键卡塔尔国,规定表之间的三番四遍,以至事假表间的牢笼:

Create database、alert database、create table、alert table、drop table、create index、drop index

Create database、alert database、create table、alert table、drop table、create index、drop index

三、Select

三、Select

User表里面包车型地铁数量如下

User表里面包车型客车数码如下

 澳门新萄京官方网站 2

 澳门新萄京官方网站 3

查询user表里面的user_name字段和user_age字段的全体数据

查询user表里面包车型客车user_name字段和user_age字段的具有数据

Select user_name,user_age from user

Select user_name,user_age from user

 澳门新萄京官方网站 4

 澳门新萄京官方网站 5

查询user表中存有的字段数据,用 * 表示列的称呼

查询user表中全数的字段数据,用 * 表示列的称号

Select * from user

Select * from user

 澳门新萄京官方网站 6

 澳门新萄京官方网站 7

四、Distinct

四、Distinct

Distinct采用全部的值的时候不会出现重复的数目

Distinct接纳全部的值的时候不会产出重复的多少

用经常的询问,查询全部

用日常的查询,查询全数

Select * from user

Select * from user

 澳门新萄京官方网站 8

 澳门新萄京官方网站 9

Select distinct user_name,user_age from user

Select distinct user_name,user_age from user

注意:不能有user_id,因为七个Mary的user_id不平等,加上就不算相符数量

注意:不能有user_id,因为多少个Mary的user_id不等同,加上就不算相符数量

 澳门新萄京官方网站 10

 澳门新萄京官方网站 11

五、Where

五、Where

1:查询user_id等于1 的数据

1:查询user_id等于1 的数据

Select * from user where user_id = 1

Select * from user where user_id = 1

 澳门新萄京官方网站 12

 澳门新萄京官方网站 13

2:查询user_age大于等于12的数目

2:查询user_age大于等于12的数额

Select * from user where user_age >=12

Select * from user where user_age >=12

 澳门新萄京官方网站 14

 澳门新萄京官方网站 15

3:查询user_age不等于12的数据

3:查询user_age不等于12的数据

Select * from user where user_age <> 12

Select * from user where user_age <> 12

 澳门新萄京官方网站 16

 澳门新萄京官方网站 17

六、ADN 和 OR

六、ADN 和 OR

And和or在where子语句中把七个或几个标准构成起来。假使急需五个标准都营作育是用and假诺只要求中间叁个尺度创设就选用or

And和or在where子语句中把四个或三个规范构成起来。借使急需四个标准都创建便是用and假设只需求中间多少个尺度建构就应用or

Select * from user where user_name = 'mary' and user_age = 12

Select * from user where user_name = 'mary' and user_age = 12

亟待小心的是SQL使用单引号来围绕文本值,假诺是数值则无需引号

急需静心的是SQL使用单引号来围绕文本值,固然是数值则没有必要引号

 澳门新萄京官方网站 18

 澳门新萄京官方网站 19

Select * from user where user_name='mary' or user_age =13

Select * from user where user_name='mary' or user_age =13

 澳门新萄京官方网站 20

 澳门新萄京官方网站 21

组合and和or使用圆括号来整合复杂的表明式

结缘and和or使用圆括号来组成复杂的表达式

Select * from user where (user_name = 'mary' and user_age = 12) or(user_age =13)

Select * from user where (user_name = 'mary' and user_age = 12) or(user_age =13)

 澳门新萄京官方网站 22

 澳门新萄京官方网站 23

七、Order by

七、Order by

1:对点名列实行升序排列

1:对点名列进行升序排列

Select * from user order by user_name

Select * from user order by user_name

 澳门新萄京官方网站 24

 澳门新萄京官方网站 25

2:按照user_id逆序排列

2:按照user_id逆序排列

Select * from user order by user_id DESC

Select * from user order by user_id DESC

 澳门新萄京官方网站 26

 澳门新萄京官方网站 27

2:遵照升序排列user_id逆序排列user_age

2:根据升序排列user_id逆序排列user_age

SELECT * FROM user order by user_id ASC,user_age DESC

SELECT * FROM user order by user_id ASC,user_age DESC

 澳门新萄京官方网站 28

 澳门新萄京官方网站 29

3:依据升序排列user_id逆序排列user_age

3:依据升序排列user_id逆序排列user_age

SELECT * FROM user order by user_age DESC,user_id ASC

SELECT * FROM user order by user_age DESC,user_id ASC

 澳门新萄京官方网站 30

 澳门新萄京官方网站 31

只顾:前面包车型的士规格优先级越来越高!!

留意:后边的基准优先级越来越高!!

八、Insert

八、Insert

User表

User表

 澳门新萄京官方网站 32

 澳门新萄京官方网站 33

铺排风流倜傥行数据 user_id为2 user_name为tom,user_age为12

安插风姿洒脱行数据 user_id为2 user_name为tom,user_age为12

在乎:假诺每意气风发项都有插入的话就无需在前面列出列名!!

只顾:假如每风姿洒脱项都有插入的话就没有必要在头里列出列名!!

Insert into user values(2,'tom',12)

Insert into user values(2,'tom',12)

澳门新萄京官方网站 34

澳门新萄京官方网站 35

新插入意气风发行数据,只供给user_name为eva

新插入风度翩翩行数据,只供给user_name为eva

Insert into user(user_name) values('eva')

Insert into user(user_name) values('eva')

注意:因为ID设置为自增,所以user_id不为null

小心:因为ID设置为自增,所以user_id不为null

 澳门新萄京官方网站 36

 澳门新萄京官方网站 37

九、Update

九、Update

修改user_id为6的数据user_age为14

修改user_id为6的数据user_age为14

Update user set user_age=14 where user_id=6

Update user set user_age=14 where user_id=6

 澳门新萄京官方网站 38

 澳门新萄京官方网站 39

修改user_id为1的数据user_name为ann,user_age为11

修改user_id为1的数据user_name为ann,user_age为11

Update user set user_name='ann',user_age=11 where user_id=1

Update user set user_name='ann',user_age=11 where user_id=1

澳门新萄京官方网站 40

澳门新萄京官方网站 41

十、Delete

十、Delete

User表中的全体数据消息如下

User表中的全部数据音讯如下

 澳门新萄京官方网站 42

 澳门新萄京官方网站 43

删除user_age为12的数据

删除user_age为12的数据

Delete from user where user_age=12

Delete from user where user_age=12

 澳门新萄京官方网站 44

 澳门新萄京官方网站 45

删除表中的兼具数据

去除表中的保有数据

Delete from user

Delete from user

 澳门新萄京官方网站 46

 澳门新萄京官方网站 47

第二章 SQL高档教程

第二章 SQL高端教程

一、Top

一、Top

Top子句用于再次回到要回到的笔录的多少,但并不是有着的数据库都支持top子句

Top子句用于再次回到要回到的记录的数目,但并不是全数的数据库都帮忙top子句

1:SQL Server

1:SQL Server

Select top 5 * from user

Select top 5 * from user

澳门新萄京官方网站 48

2:MySQL

2:MySQL

Select * from user limit 5

Select * from user limit 5

3:Oracle

澳门新萄京官方网站 49

Select * from user where ROWNUM <= 5

3:Oracle

二、Like

Select * from user where ROWNUM <= 5

User表的启幕数据如下

二、Like

澳门新萄京官方网站 50

User表的开端数据如下

1:寻觅以li初阶的数额

澳门新萄京官方网站 51

Select * from user where user_name like 'li%'

1:找寻以li初阶的数据

澳门新萄京官方网站 52

Select * from user where user_name like 'li%'

2:寻找以ry结尾的数目

澳门新萄京官方网站 53

Select * from user where user_name like '%ry'

2:寻觅以ry结尾的数额

 澳门新萄京官方网站 54

Select * from user where user_name like '%ry'

3:寻找含有a的多寡

 澳门新萄京官方网站 55

Select * from user where user_name like '%a%'

3:寻找含有a的数目

 澳门新萄京官方网站 56

Select * from user where user_name like '%a%'

4:找寻第三个假名是a第多个假名是y的多少

 澳门新萄京官方网站 57

Select * from user where user_name like '_a_y'

4:寻觅第叁个假名是a第多个假名是y的数量

 澳门新萄京官方网站 58

Select * from user where user_name like '_a_y'

三、通配符

 澳门新萄京官方网站 59

在搜寻数据库中的数据的时候SQL通配符能够替代一个或多少个字符。SQL通配符必需与like运算符一齐行使

三、通配符

1: _ 替代一个字符

在搜索数据库中的数据的时候SQL通配符能够代替一个或七个字符。SQL通配符必需与like运算符一齐使用

搜索第叁个字母是a第七个字母是y的数码

1: _ 替代叁个字符

Select * from user where user_name like '_a_y'

找寻第二个假名是a第五个假名是y的数量

 澳门新萄京官方网站 60

Select * from user where user_name like '_a_y'

2: % 替代叁个或多个字符

 澳门新萄京官方网站 61

找寻以ry结尾的多少

2: % 代替叁个或多个字符

Select * from user where user_name like '%ry'

搜索以ry结尾的数码

 澳门新萄京官方网站 62

Select * from user where user_name like '%ry'

3: [] 字符列中的任意三个单字符

 澳门新萄京官方网站 63

寻觅以a或许l早先的数据

3: [] 字符列中的率性七个单字符(在SQL Server里面有意义,在MySQL里面不会报错但找不到值)

Select * from user where user_name like '[al]%'

寻找以a大概l初阶的数据

寻觅不是a恐怕l发轫的数目

Select * from user where user_name like '[al]%'

Select * from user where user_name like '[!al]%'

寻觅不是a或然l开首的多少

四、In

Select * from user where user_name like '[^al]%'

设若数据满意in里面包车型地铁二个条件就能够了

四、In

找到user_age是12或者13的数据

如果数据满足in里面包车型大巴三个尺码就足以了

Select * from user where user_age in (12,13)

找到user_age是12或者13的数据

 澳门新萄京官方网站 64

Select * from user where user_age in (12,13)

找到user_name是Harry和Mary的数据

 澳门新萄京官方网站 65

Select * from user where user_name IN ('mary','harry')

找到user_name是Harry和Mary的数据

 澳门新萄京官方网站 66

Select * from user where user_name IN ('mary','harry')

五、Between

 澳门新萄京官方网站 67

分选五个值时期的数据

五、Between

查询年龄在12和14里头的数目

采纳四个值时期的多少

Select * from user where user_age between 12 and 14

询问年龄在12和第114中学间的数据

 澳门新萄京官方网站 68

Select * from user where user_age between 12 and 14

查询字母在Alice和John之间的数码

 澳门新萄京官方网站 69

Select * from user where user_name between 'alice' AND'john'

查询字母在Iris和John之间的多少

 澳门新萄京官方网站 70

Select * from user where user_name between 'alice' AND'john'

六、Aliases

 澳门新萄京官方网站 71

点名小名

六、Aliases

假若大家有八个表分别是user和Room 。我们独家钦赐他们为u和r。

点名别称

1:不利用外号

要是大家有多个表分别是user和Room 。我们分别内定他们为u和r。

Select room.room_name,user.user_name,user.user_age from user ,room  Where user.user_age=12 and room.room_id = 1

1:不接收外号

 澳门新萄京官方网站 72

Select room.room_name,user.user_name,user.user_age from user ,room  Where user.user_age=12 and room.room_id = 1

2:使用外号

 澳门新萄京官方网站 73

选拔外号的时候平昔将别名跟在末端,不利用as也足以

2:使用外号

Select r.room_name,u.user_name,u.user_age from user as u,room as r  Where u.user_age=12 and r.room_id = 1

使用外号的时候一直将外号跟在前面,不利用as也足以

 澳门新萄京官方网站 74

Select r.room_name,u.user_name,u.user_age from user as u,room as r  Where u.user_age=12 and r.room_id = 1

七、Join

 澳门新萄京官方网站 75

数据库中的表能够因而键将相互沟通起来,主键是一个列,在这里个列中的每生机勃勃行的值都以独步天下的,在表中,各类主键的值都以唯风姿罗曼蒂克的,那样就能够在不重复各种表中的兼具数据的图景下,把表间的数量交叉捆绑在联合。

七、Join

以下为表user和表Room的多少

数据库中的表能够经过键将相互关系起来,主键是二个列,在此个列中的每豆蔻梢头行的值都以举世无双的,在表中,各样主键的值都以唯生机勃勃的,那样就足以在不另行各类表中的保有数据的情形下,把表间的数量交叉捆绑在协同。

 澳门新萄京官方网站 76    澳门新萄京官方网站 77

以下为表user和表Room的多寡

1:引用多少个表

 澳门新萄京官方网站 78    澳门新萄京官方网站 79

找寻在Room of boy相关联的顾客信息

1:引用七个表

Select u.user_name,u.user_age,r.room_name from user as u,room as r 

寻觅在Room of boy相关联的客户新闻

Where u.room_id = r.room_id and r.room_name='room of boy'

Select u.user_name,u.user_age,r.room_name from user as u,room as r 

 澳门新萄京官方网站 80

Where u.room_id = r.room_id and r.room_name='room of boy'

2:使用首要字join来三番四次两张表

 澳门新萄京官方网站 81

Select u.user_name,u.user_age,r.room_name

2:使用首要字join来连接两张表

from user as u

Select u.user_name,u.user_age,r.room_name

join room as r

from user as u

on u.room_id = r.room_id and r.room_name='room of boy'

join room as r

 澳门新萄京官方网站 82

on u.room_id = r.room_id and r.room_name='room of boy'

八、Inner join

 澳门新萄京官方网站 83

Inner join 与 join 用法意气风发致

八、Inner join

Select u.user_name,u.user_age,r.room_name

Inner join 与 join 用法生龙活虎致

from user as u

Select u.user_name,u.user_age,r.room_name

inner join room as r

from user as u

on u.room_id = r.room_id and r.room_name='room of boy'

inner join room as r

 澳门新萄京官方网站 84

on u.room_id = r.room_id and r.room_name='room of boy'

九、Left join

 澳门新萄京官方网站 85

瞩目:左连接以左臂的表为主体,也正是说会列出左边手的表中的持有的数目,无论它是还是不是知足条件。

九、Left join

1:user在左边

留意:左连接以右手的表为主体,约等于说会列出左臂的表中的具有的数据,无论它是还是不是知足条件。

Select u.user_name,u.user_age,r.room_name

1:user在左边

from user as u

Select u.user_name,u.user_age,r.room_name

Left join room as r

from user as u

on u.room_id = r.room_id and r.room_name='room of boy'

Left join room as r

 澳门新萄京官方网站 86

on u.room_id = r.room_id and r.room_name='room of boy'

2:Room在左边

 澳门新萄京官方网站 87

Select u.user_name,u.user_age,r.room_name

2:Room在左边

From room as r

Select u.user_name,u.user_age,r.room_name

Left join user as u

From room as r

on u.room_id = r.room_id and r.room_name='room of boy'

Left join user as u

 澳门新萄京官方网站 88

on u.room_id = r.room_id and r.room_name='room of boy'

十、Right join

 澳门新萄京官方网站 89

在意:左连接以侧面的表为主体,也等于说会列出右边手的表中的具有的多寡,无论它是不是满足条件。

十、Right join

1:Room在右边

专心:左连接以右侧的表为主体,也正是说会列出左边的表中的兼具的数额,无论它是或不是知足条件。

Select u.user_name,u.user_age,r.room_name

1:Room在右边

from user as u

Select u.user_name,u.user_age,r.room_name

Right join room as r

from user as u

on u.room_id = r.room_id and r.room_name='room of boy'

Right join room as r

 澳门新萄京官方网站 90

on u.room_id = r.room_id and r.room_name='room of boy'

2:user在右边

 澳门新萄京官方网站 91

Select u.user_name,u.user_age,r.room_name

2:user在右边

from  room as r

Select u.user_name,u.user_age,r.room_name

Right join user as u

from  room as r

on u.room_id = r.room_id and r.room_name='room of boy'

Right join user as u

 澳门新萄京官方网站 92

on u.room_id = r.room_id and r.room_name='room of boy'

十一、Full join

 澳门新萄京官方网站 93

1:user在左边

十一、Full join

Select * from user Full join room

1:user在左边

 澳门新萄京官方网站 94

Select * from user Full join room

2:Room在左边

 澳门新萄京官方网站 95

Select * From room full join user

2:Room在左边

 澳门新萄京官方网站 96

Select * From room full join user

小心:SQL错误码1054意味并未有找到呼应的字段名;错误码1064表示客商输入的SQL语句有语法错误

 澳门新萄京官方网站 97

十二、Union

注意:SQL错误码1054意味不曾找到相应的字段名;错误码1064表示顾客输入的SQL语句有语法错误

Union操作符用于合併四个或许多少个SELECT语句的结果集

十二、Union

请在乎,UNION内部的select语句必得具备后生可畏致数量的列。列也必需具备同等的数据类型。同不时间,每条select语句中的列的逐大器晚成必得生龙活虎致。

Union操作符用于归拢三个或然四个SELECT语句的结果集

下边是Room表和color表的多少

请小心,UNION内部的select语句必需具有肖似数量的列。列也一定要持有相符的数据类型。同有的时候间,每条select语句中的列的顺序必得风流倜傥律。

澳门新萄京官方网站 98     澳门新萄京官方网站 99

上边是Room表和color表的数量

Select room_name from room

澳门新萄京官方网站 100     澳门新萄京官方网站 101

Union

Select room_name from room

Select color_name from color

Union

 澳门新萄京官方网站 102

Select color_name from color

暗中同意的union接受分歧的值,如若想要有周边的值现身就选择union all

 澳门新萄京官方网站 103

Select room_name from room

默许的union选拔不一致的值,若是想要有意气风发致的值现身就采纳union all

Union all

Select room_name from room

Select color_name from color

Union all

 澳门新萄京官方网站 104

Select color_name from color

十三、Create DB

 澳门新萄京官方网站 105

创办数据库mysqltest

十三、Create DB

Create database mysqltest

制造数据库mysqltest

 澳门新萄京官方网站 106

Create database mysqltest

十四、Create table

 澳门新萄京官方网站 107

Create table sqltest(

十四、Create table

Id int,

Create table sqltest(

Name varchar(45),

Id int,

Age int,

Name varchar(45),

Salary float,

Age int,

Time Date,

Salary float,

)

Time Date,

 澳门新萄京官方网站 108 澳门新萄京官方网站 109

)

十五、Constraints

 澳门新萄京官方网站 110 澳门新萄京官方网站 111

SQL约束,用于限制参与表的数量的门类

十五、Constraints

科普限定:not noll、unique、primary key、foreign key、check、default

SQL节制,用于约束插钟表的数据的体系

十六、Not null

相近节制:not null、unique、primary key、foreign key、check、default

Not null 限制强制列不收受NULL值。Not null 约束强制字段始终包含值,那象征,若是不向字段加多值,就不可能插入新的字段或然更新记录

十六、Not null

用法,在字段前面加上 not null

Not null 约束,强制列不选择NULL值。Not null 约束强制字段始终包罗值,那表示,若是不向字段增添值,就无法插入新的字段或许更新记录

 澳门新萄京官方网站 112

用法,在字段前面加上 not null

十七、Unique

 澳门新萄京官方网站 113

Unique约束唯风流倜傥标记数据库中的每一条记下。Primary key限制具有电动的unique限定。供给介意的是,各个表里面能够享有多少个unique节制,但只好有一个primary key约束

十七、Unique

1:MySQL用法,unique(字段名)

Unique约束,唯黄金时代标记数据库中的每一条记下。Primary key节制具有电动的unique限制。须要注意的是,种种表里面能够有所多少个unique约束,但一定要有叁个primary key约束

 澳门新萄京官方网站 114

1:MySQL用法,unique(字段名)

2:SQL Server 、 Oracle 、 MS Access在字段前面加

 澳门新萄京官方网站 115

 澳门新萄京官方网站 116

2:SQL Server 、 Oracle 、 MS Access在字段前面加

3:命名约束使用constraint

 澳门新萄京官方网站 117

 澳门新萄京官方网站 118

3:命名约束使用constraint

4:已经创立了表之后供给增多约束

 澳门新萄京官方网站 119

ALTER TABLE sqltest ADD UNIQUE(Age)

4:已经创办了表之后要求增加约束

 澳门新萄京官方网站 120

ALTER TABLE sqltest ADD UNIQUE(Age)

5:给业已创立了的表增多约束并取名

 澳门新萄京官方网站 121

ALTER TABLE sqltest ADD constraint unique_name UNIQUE(Age,salary)

5:给业已创办了的表增加节制并取名

 澳门新萄京官方网站 122

ALTER TABLE sqltest ADD constraint unique_name UNIQUE(Age,salary)

6:裁撤节制

 澳门新萄京官方网站 123

MySQL

6:裁撤限制

在平素不给限制命名的情状下(上边的age约束卡塔 尔(阿拉伯语:قطر‎直接行使字段名就可以了

MySQL

ALTER TABLE sqltest DROP INDEX age

在并未有给约束命名的状态下(下面的age限定卡塔尔国间接运用字段名就足以了

澳门新萄京官方网站 124  删除后   澳门新萄京官方网站 125

ALTER TABLE sqltest DROP INDEX age

在封锁盛名字的动静下,间接使用名字就足以了

澳门新萄京官方网站 126  删除后   澳门新萄京官方网站 127

ALTER table sqltest  drop index unique_name

在封锁知名字的图景下,直接行使名字就可以了

澳门新萄京官方网站 128   删除后  澳门新萄京官方网站 129

ALTER table sqltest  drop index unique_name

SQL Server 、 Oracle 、 MS Access

澳门新萄京官方网站 130   删除后  澳门新萄京官方网站 131

ALTER table 表名 drop constraint 约束名

SQL Server 、 Oracle 、 MS Access

 

ALTER table 表名 drop constraint 约束名

十八、Primary key

十八、Primary key

Primary key限制唯大器晚成标记数据库表中的每一条记下,组件必得包涵唯后生可畏的值。组件列不可能满含NULL值。各种表都应该有多个主键,何况每三个表都只好有叁个主键

Primary key节制唯生龙活虎标志数据库表中的每一条记下,组件必需含有唯朝气蓬勃的值。组件列不能够包罗NULL值。各种表都应该有一个主键,并且每四个表都只能有三个主键

1:在MySQL中的用法

1:在MySQL中的用法

 澳门新萄京官方网站 132

 澳门新萄京官方网站 133

2:在SQL Server 、 Oracle 和MS Access中的用法

2:在SQL Server 、 Oracle 和MS Access中的用法

 澳门新萄京官方网站 134

 澳门新萄京官方网站 135

3:为曾经成立成功的表创设primary key限定

3:为曾经创办成功的表成立primary key节制

Alter table sqltest add primary key(id)

Alter table sqltest add primary key(id)

 澳门新萄京官方网站 136

 澳门新萄京官方网站 137

4:为曾经创建产生功的表增多主键约束,以至为八个列定义主键约束

4:为早就创立成功的表增多主键约束,以至为八个列定义主键约束

Alter table sqltest add constraint pk_name primary key (id,name)

Alter table sqltest add constraint pk_name primary key (id,name)

 澳门新萄京官方网站 138

 澳门新萄京官方网站 139

5:在MySQL中撤消主键

5:在MySQL中废除主键

ALTER  TABLE sqltest DROP PRIMARY KEY

ALTER  TABLE sqltest DROP PRIMARY KEY

澳门新萄京官方网站 140   删除后   澳门新萄京官方网站 141

澳门新萄京官方网站 142   删除后   澳门新萄京官方网站 143

6:在SQL Server、Oracle、MS Access中收回主键

6:在SQL Server、Oracle、MS Access中收回主键

Alter table 表名 drop constraint 主键名

Alter table 表名 drop constraint 主键名

十九、Foreign key

十九、Foreign key

所谓的外键,即一个表的外键指向另三个表的主键

所谓的外键,即三个表的外键指向另一个表的主键

User表澳门新萄京官方网站 144

User表澳门新萄京官方网站 145

Room表澳门新萄京官方网站 146

Room表澳门新萄京官方网站 147

在user表里面room_id列指向Room表里面包车型地铁id列。Room表里面包车型客车id列是主键,user表里面包车型大巴room_id列是外键。外键约束用于幸免破坏表之间的总是动作,外键限制也能防守不法数据插入外键列,因为她必得是她针对性的老大表的值之生龙活虎。

在user表里面room_id列指向Room表里面包车型客车id列。Room表里面包车型地铁id列是主键,user表里面包车型地铁room_id列是外键。外键节制用于幸免破坏表之间的连天动作,外键节制也能防范违法数据插入外键列,因为他必得是他本着的不胜表的值之黄金年代。

 澳门新萄京官方网站 148

 澳门新萄京官方网站 149

二十、Check

二十、Check

Check约束用于限定列中的值的范围。即使对单生龙活虎的列定义check约束,那么改了只允许特定的值。要是对叁个表定义check约束,那么此节制会在特定的列中对值实行约束。

Check约束用于节制列中的值的限量。如若对单生机勃勃的列定义check约束,那么改了只允许特定的值。假诺对叁个表定义check节制,那么此限定会在特定的列中对值进行节制。

 澳门新萄京官方网站 150

 澳门新萄京官方网站 151

为已经创设成功的表增加check约束

为已经创办成功的表增添check限制

ALTER TABLE USER ADD CHECK (age>10)

ALTER TABLE USER ADD CHECK (age>10)

二十一、Default

二十一、Default

Default约束用于向列宗插入私下认可值。若无规定任何值,那么就能够将暗中同意值加多到全数的新记录。

Default约束用于向列中插入暗中同意值。若无鲜明任何值,那么就能够将私下认可值增添到全部的新记录。

用法:

用法:

 澳门新萄京官方网站 152

 澳门新萄京官方网站 153

当表已经存在的时候,增添暗中认可值

当表已经存在的时候,添加暗许值

ALTER TABLE sqltest ALTER NAME SET DEFAULT 'tom'

ALTER TABLE sqltest ALTER NAME SET DEFAULT 'tom'

 澳门新萄京官方网站 154

 澳门新萄京官方网站 155

澳门新萄京官方网站 156

澳门新萄京官方网站 157

收回默许值

撤废暗中同意值

 澳门新萄京官方网站 158

 澳门新萄京官方网站 159

澳门新萄京官方网站 160

澳门新萄京官方网站 161

二十二、Create index

二十二、Create index

目录,你可以在表里面创造索引,风流浪漫边更加高效便捷地查询数据。客商不大概看到索引,他们不能不被用来增长速度寻找、查询。

目录,你能够在表里面创立索引,风流浪漫边尤其便捷高效地查询数据。客商无法看到索引,他们不能不被用来加快寻觅、查询。

注意:更新一个蕴含索引的表供给比更新二个没有索引的表更加的多的时日,这是索引本人也亟需更新,由此,理想的做法是独自在不经常被找出的列上边创设索引。

在乎:更新一个包涵索引的表需求比更新贰个未有索引的表越多的时辰,那是索引本人也亟需立异,由此,理想的做法是唯有在经常被搜索的列下面创立索引。

1:创设一个目录

1:创制多少个目录

CREATE INDEX index_name ON color (color_id )

CREATE INDEX index_name ON color (color_id )

 澳门新萄京官方网站 162

 澳门新萄京官方网站 163

2:创立叁个旷世的目录,即两行不能抱有同样的索引值。

2:创造一个旷世的目录,即两行不能够具有少年老成致的索引值。

CREATE UNIQUE INDEX book_index ON book (book_id)

CREATE UNIQUE INDEX book_index ON book (book_id)

 澳门新萄京官方网站 164

 澳门新萄京官方网站 165

3:如若索引不仅一个列,你能够在括号中列出那些列的名号,用逗号隔开分离

3:假若索引不只有叁个列,你能够在括号中列出那一个列的名目,用逗号隔开分离

CREATE INDEX index_bank ON bank (bank_id,bank_name)

CREATE INDEX index_bank ON bank (bank_id,bank_name)

 澳门新萄京官方网站 166

 澳门新萄京官方网站 167

二十三、Drop

二十三、Drop

透过动用DROP语句,能够删掉索引、表和数据库

经过应用DROP语句,能够删掉索引、表和数据库

1:删除索引

1:删除索引

Drop index index_name on color

Drop index index_name on color

 澳门新萄京官方网站 168

 澳门新萄京官方网站 169

删除之后

去除之后

 澳门新萄京官方网站 170

 澳门新萄京官方网站 171

澳门新萄京官方网站 172

澳门新萄京官方网站 173

澳门新萄京官方网站 174

澳门新萄京官方网站 175

2:删除表

2:删除表

DROP TABLE colorcopy

DROP TABLE colorcopy

澳门新萄京官方网站 176  删除之后   澳门新萄京官方网站 177

澳门新萄京官方网站 178  删除之后   澳门新萄京官方网站 179

3:清空表

3:清空表

TRUNCATE TABLE color

TRUNCATE TABLE color

澳门新萄京官方网站 180  删除之后  澳门新萄京官方网站 181

澳门新萄京官方网站 182  删除之后  澳门新萄京官方网站 183

4:删除数据库

4:删除数据库

DROP DATABASE mysqltest

DROP DATABASE mysqltest

澳门新萄京官方网站 184 删除之后  澳门新萄京官方网站 185

澳门新萄京官方网站 186 删除之后  澳门新萄京官方网站 187

二十四、Alert

二十四、Alert

 澳门新萄京官方网站 188

 澳门新萄京官方网站 189

1:添加列

1:添加列

Alter table user add salary float

Alter table user add salary float

 澳门新萄京官方网站 190

 澳门新萄京官方网站 191

2:删除列

2:删除列

Alter table user drop column room_id

Alter table user drop column room_id

 澳门新萄京官方网站 192

 澳门新萄京官方网站 193

二十五、Increment

二十五、Increment

概念主键自增

概念主键自增

 澳门新萄京官方网站 194

 澳门新萄京官方网站 195

二十六、View

二十六、View

视图,意气风发种基于SQL语句的结果集可视化表。视图包蕴行和列,仿佛一个真实的表。视图中的字段来自二个或三个数据库中的真实的表中的字段,大家得以向视图加多SQL函数、where甚至join语句,大家提交数据,然后那几个来源某些单风流倜傥的表。必要介怀的是,数据库中的结交涉规划不会碰着视图的函数、where或join语句的影响

视图,意气风发种基于SQL语句的结果集可视化表。视图蕴涵行和列,就像三个真正的表。视图中的字段来自三个或多少个数据库中的真实的表中的字段,大家能够向视图加多SQL函数、where以致join语句,大家付出数据,然后这个来自某些单一的表。须求注意的是,数据库中的结议和设计不会遭到视图的函数、where或join语句的影响

1:创制叁个视图,字段来自user表和Room表

1:创立叁个视图,字段来自user表和Room表

CREATE VIEW view_test AS

CREATE VIEW view_test AS

SELECT user.user_name,user.user_age,room.room_name

SELECT user.user_name,user.user_age,room.room_name

FROM USER,room

FROM USER,room

WHERE user.user_age>10

WHERE user.user_age>10

2:查询视图

2:查询视图

Select * from view_test

Select * from view_test

 澳门新萄京官方网站 196

 澳门新萄京官方网站 197

3:撤消视图

3:打消视图

DROP VIEW view_test

DROP VIEW view_test

二十七、Date

二十七、Date

 澳门新萄京官方网站 198

 澳门新萄京官方网站 199

二十八、Nulls

二十八、Nulls

暗许的,表的列能够存放NULL值。假若表里面的某部列是可选的,那么大家能够在不想改列增加值的图景下插入记录可能更新记录,那意味着该字段以NULL值保存。注意,NULL和0是不等价的,不可能开展相比较。

暗中同意的,表的列能够寄存NULL值。如果表里面包车型大巴某部列是可选的,那么大家能够在不想该列增加值之处下插入记录或然更新记录,那意味着该字段以NULL值保存。注意,NULL和0是不等价的,不可能拓宽比较。

 澳门新萄京官方网站 200

 澳门新萄京官方网站 201

1:查询NULL值 

1:查询NULL值 

select * from user where salary is null

select * from user where salary is null

 澳门新萄京官方网站 202

 澳门新萄京官方网站 203

2:查询非NULL值 

2:查询非NULL值 

select * from user where salary  is not null

select * from user where salary  is not null

 澳门新萄京官方网站 204

 澳门新萄京官方网站 205

二十九、数据类型

二十九、数据类型

MySQL首要有二种档期的顺序:文本、数字、日期

MySQL首要有三种等级次序:文本、数字、日期

 澳门新萄京官方网站 206

 澳门新萄京官方网站 207

澳门新萄京官方网站 208

澳门新萄京官方网站 209

澳门新萄京官方网站 210

澳门新萄京官方网站 211

澳门新萄京官方网站 212

澳门新萄京官方网站 213

澳门新萄京官方网站 214

澳门新萄京官方网站 215

澳门新萄京官方网站 216

澳门新萄京官方网站 217

澳门新萄京官方网站 218

澳门新萄京官方网站 219

澳门新萄京官方网站 220 

澳门新萄京官方网站 221 

三十、服务器 

三十、服务器 

 澳门新萄京官方网站 222

 澳门新萄京官方网站 223

第三章 SQL函数

第三章 SQL函数

一、SQL functions

一、SQL functions

在SQL当中,基本的函数类型和品种有多少种,函数的骨干项目是:

在SQL当中,基本的函数类型和连串有多少种,函数的中央类型是:

商量函数(Aggregate function卡塔 尔(阿拉伯语:قطر‎和 Scalar函数

说道函数(Aggregate function卡塔尔和 Scalar函数

Aggregate 函数,函数操作面向生机勃勃雨后玉兰片的值,并再次来到一个纯粹的值。

Aggregate 函数,函数操作面向豆蔻梢头多种的值,并赶回一个纯粹的值。

Scalar 函数,操作面向有个别单豆蔻梢头的值,并回到基于输入值的一个单风度翩翩的值。

Scalar 函数,操作面向有些单生龙活虎的值,并赶回基于输入值的多少个单纯的值。

二、Avg()

二、Avg()

求平均年龄

求平均年龄

Select avg(user_age) from user

Select avg(user_age) from user

 澳门新萄京官方网站 224

 澳门新萄京官方网站 225

求大于平均年龄的客商

求大于平均年龄的客户

Select * from user where user_age>(Select avg(user_age) from user)

Select * from user where user_age>(Select avg(user_age) from user)

 澳门新萄京官方网站 226

 澳门新萄京官方网站 227

三、Count()

三、Count()

再次回到列的值的多寡(不含有NULL卡塔 尔(阿拉伯语:قطر‎

回去列的值的数目(不带有NULL卡塔 尔(阿拉伯语:قطر‎

只顾,能够采纳as来给count()取八个别称

留意,能够利用as来给count()取三个小名

 澳门新萄京官方网站 228

 澳门新萄京官方网站 229

Select count(user_id) from user

Select count(user_id) from user

 澳门新萄京官方网站 230

 澳门新萄京官方网站 231

Select count(salary) from user

Select count(salary) from user

 澳门新萄京官方网站 232

 澳门新萄京官方网站 233

再次回到值分歧的有稍稍

重返值分歧的有多少

Select count(distinct user_name) from user

Select count(distinct user_name) from user

 澳门新萄京官方网站 234

 澳门新萄京官方网站 235

询问全体列

询问全体列

Select count(*) from user

Select count(*) from user

 澳门新萄京官方网站 236

 澳门新萄京官方网站 237

四、Max()

四、Max()

重回最大值,NULL不蕴涵在思索中

回去最大值,NULL不富含在思量中

 澳门新萄京官方网站 238

 澳门新萄京官方网站 239

Select max(price) as max_price from commodity

Select max(price) as max_price from commodity

 澳门新萄京官方网站 240

 澳门新萄京官方网站 241

五、Min()

五、Min()

归来最小值,NULL不满含在酌量中

回到最小值,NULL不包蕴在思虑中

 澳门新萄京官方网站 242

 澳门新萄京官方网站 243

Select min(salary) poor_man from user

Select min(salary) poor_man from user

 澳门新萄京官方网站 244

 澳门新萄京官方网站 245

六、Sum()

六、Sum()

归来该列值的总额

回去该列值的总的数量

 澳门新萄京官方网站 246

 澳门新萄京官方网站 247

Select sum(salary) from user

Select sum(salary) from user

 澳门新萄京官方网站 248

 澳门新萄京官方网站 249

七、Group By 

七、Group By 

用以结合合计函数,依照贰个或几个列对结果集进行分组

用于结合合计函数,依据一个或八个列对结果集实行分组

 澳门新萄京官方网站 250

 澳门新萄京官方网站 251

SELECT cname,SUM(price) FROM commodity GROUP BY cname

SELECT cname,SUM(price) FROM commodity GROUP BY cname

 澳门新萄京官方网站 252

 澳门新萄京官方网站 253

八、Having

八、Having

在SQL中追加having子句的缘故是where不可能与协商函数一齐行使。用法和where 相符

在SQL中加进having子句的因由是where无法与和谐函数一齐使用。用法和where 同样

SELECT cname,SUM(price) FROM commodity

SELECT cname,SUM(price) FROM commodity

GROUP BY cname

GROUP BY cname

HAVING  SUM(price)>20

HAVING  SUM(price)>20

 澳门新萄京官方网站 254

 澳门新萄京官方网站 255

九、Ucase()

九、Ucase()

把函数字段的值转变为题写

把函数字段的值转变为题写

 澳门新萄京官方网站 256

 澳门新萄京官方网站 257

SELECT UCASE(user_name) FROM user

SELECT UCASE(user_name) FROM user

 澳门新萄京官方网站 258

 澳门新萄京官方网站 259

十、Lcase()

十、Lcase()

将函数字段转变为题写

将函数字段转变为题写

 澳门新萄京官方网站 260

 澳门新萄京官方网站 261

Select lcase(user_name) from user

Select lcase(user_name) from user

 澳门新萄京官方网站 262

 澳门新萄京官方网站 263

十一、Mid()

十一、Mid()

从文本字段中提取字符

从文本字段中领取字符

 澳门新萄京官方网站 264

 澳门新萄京官方网站 265

Select mid(user_name,2,2) from user

Select mid(user_name,2,2) from user

 澳门新萄京官方网站 266

 澳门新萄京官方网站 267

十二、Round()

十二、Round()

Round函数把数值字段舍入为钦定的小数位数

Round函数把数值字段舍入为钦赐的小数位数

 澳门新萄京官方网站 268

 澳门新萄京官方网站 269

Select round(salary,2) from user

Select round(salary,2) from user

 澳门新萄京官方网站 270

 澳门新萄京官方网站 271

十三、Now()

十三、Now()

归来当前岁月

回去当前时间

SELECT NOW() FROM user

SELECT NOW() FROM user

 澳门新萄京官方网站 272

 澳门新萄京官方网站 273

 

 

读书完了后来大家得以步向位w3chool的‘SQL测量试验’举办测量试验 

学习完了之后我们得以进来位w3chool的‘SQL测量检验’实行测验 

 ( ^_^ )/~~拜拜

 ( ^_^ )/~~拜拜

 

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:澳门新萄京官方网站:SQL语句学习,MySQL数据类型

关键词: