澳门新莆京手机网站-新蒲京娱乐场 > 澳门新莆京手机网站 > 自身的ASP.NET学习笔记08MySQL功底知识

自身的ASP.NET学习笔记08MySQL功底知识

mysql数据库基本功知识

mysql笔记

@(〓〓 iOS-实用本领卡塔尔(قطر‎[SQLite 数据库]

序言

什么样是数据库

数据库从名称想到所包含的意义,便是用来囤积数据的工具,用三个百分比形象的例证来比喻,就是Excel,一个Excel文件就足以看做是二个数据库。

一,补充

  • 作者: Liwx
  • 邮箱: 1032282633@qq.com

那类随笔,记录本人看《MySQL5.6从零起头学》那本书的长河,将团结觉得事关心重视大的东西记录一下,并有相当的大也许协助到你们,在写的博文前几篇度会异常底工,只要入手敲,跟着本身写的例证全体落到实处叁次,基本上就解决了,早先时代很难通晓的事物为主没有,所以写博文的开始和结果,就是以练题的花样来表现的。

关系型数据库

固然以行与列构成的二维数据表的花样,用来囤积数据的,何况将多张数据表存款和储蓄在一个单元中的存款和储蓄方式,就叫做关系型数据库。

cd ;dos窗口查看文件夹,盘与盘之间无需cd


急需用的素材以链接的款式给急需的校友。

数据表

由行与列构成的二维布局的积存数据的报表。

has a;生命周期,具备,自身的

目录

我用的mysql版本为: Mysql-5.5.45-win64.msi 密码是:26zw

记录

正是数据表中央银行,生龙活虎暴行数据大家就叫做一条数据记录。

经常来说,每条数据记录都有一个ID号,大家能够把这几个id精晓成是excel中的行号,用来对每条记下实行区分与标识。

use e;使用,传进来的

  • 08.iOS SQLite常用SQL语句,Navicat基本选取
  • 1.Navicat着力采取
    • 数据库的申辩基本功
    • Navicat基本采取
  • 2.SQL言语简介
    • SQL的介绍
    • SQL推荐网址
  • 3.SQL语句的为主接收
    • 准则语句
    • DDL数据库定义语句
      • 新建查询
      • 始建数据表
      • 删除表
      • 改良表(重命名表卡塔尔(قطر‎和加多字段
      • 数量表增添字段
    • DML数据库操作操作(增加和删除改卡塔尔
      • 插入数据(insert)
      • 履新数据(update)
      • 剔除数据(delete)
    • DQL数据库查询语句(查询卡塔尔(قطر‎
  • 4.询问有关语句
    • 计算查询
    • 排序查询
    • limit分页查询
  • 5.多表查询
    • 多表查询
    • 别名
    • 表连接查询

图形化学工业具 Navicat: Navicat 密码:c7fs

主键

过多时候大家将id称为主键,主键这是指那张表的排列顺序的依赖。

and;和


始于自己的MySQL之旅吧 始于2015.12.04

字段

数量字段,正是多少表中的列。

每一个字段都亟待钦点叁个称号,用来注明该列数据的效果与利益,就叫作字段名。

is e;是

1.Navicat为主采取

朝气蓬勃、数据库的装置

常用的数据库的门类

Mysql 品质大胆,能够无需付费使用。

MSSQL server 微软集团的数据库软件,平常用于搭配微软系统的编制程序语言。

Access是office的办公室套件之生机勃勃。

Oracel 质量非强悍,也特别不菲。

byte ;+127——-128;127+1取返=-128;

数据库的论战底工

  • 1.报表组成: 行(记录卡塔尔和列(属性卡塔尔国

  • 2.属性类型

blob 二进制类型
integer 整型
real 浮点型
text 文本类型
null 空

  • 3.主键

主键(Primary Key,简称PK)用来唯一地方统一标准识某一条记录.
例如t_student能够追加三个id字段作为主键,相当于人的居民身份证
主键能够是一个字段或八个字段
例如: 行和列
主键的陈设条件
主键应当是对客户并没风趣的
永世也休想更新主键
主键不应蕴含动态变化的数码
主键应当由Computer自动生成


本条就不在那过多解说了,因为英特网实乃太多设置mysql的科目了,有了自身给的mysql,在依据这些装置教程去看,就可以预知设置完好。

安装与行使mysql

设置mysql的办法比较多,大家利用phpstudy这一个软件来设置php + mysql的周转条件。安装之后,大家就具备了mysql的服务。何况还应该有五款mysql客商端。

 

Mysql分为顾客端与服务端。服务端仅仅用于对软件程序提供数据通讯,普通顾客不能直接看见里边的数据内容。

 

顾客端用来将服务端的数码,以客商可以领略的主意展示在其分界面上。

 

ip

Navicat基本使用

  • 1.成立SQLite数据库连接

图片 1

1.成立SQLite数据库连接.png


  • 2.创立叁个数据表,增添字段
    • 能够选中有个别字段,为其安装暗中同意值和排序法则

图片 2

2.创办三个数据表,增多字段.png

字段设置私下认可值和排序法规

图片 3

3.字段设置私下认可值和排序法规.png


  • 3.增多字段操作(演示加多主键卡塔尔

1.选中要加多字段的表

图片 4

4.增加字段操作.png

2.增多主键(主键自动依次增加卡塔尔(قطر‎

图片 5

5.增添主键(主键自动依次增加卡塔尔国.png

  • 4.插入数据

图片 6

6.插入数据.png


  • 5.去除数据

图片 7

7.删减数据.png



设置好mysql后,假如供给使用windows命令窗口来操作mysql,那么就要求配备境遇变量,在设置好的mysql下找到bin,将其目录放各情形变量path中去,就能够了,检查实验成功与否的艺术是在cmd命令窗口中输入mysql,就可以产出一大段西班牙语,就证实成功了,反之退步,倘若不会的话就去百度搜教程。

phpMyAdmin

phpMyAdmin是最常用的mysql客户端,它是基于php语言的。

在桌面右下角的phpstudyLogo上右击弹出菜单中选取phpMyAdmin就能够运维步向了。运维以往,须要输入顾客与密码实行登入,私下认可的顾客名密码都以root。

 

本机ip;127.0.0.1

2.SQL言语简单介绍

二、数据库的基本操作

新建数据库

1、 要钦点数据库的称号。

2、 常常选用utf8_unicode_ci字符集,在独有汉语的动静下,能够筛选gbk_chinese_ic或gb2312_chinese_ci 。

 

mysql --version;命令窗口询问mysql版本(管理员运维命令窗口)

SQL的介绍

  • 1.什么是SQL?

SQL(structured query language):布局化查询语言
SQL是生机勃勃种对关系型数据库中的数据实行定义和操作的言语
SQL语言简洁,语法简单,好学好用

  • 2.什么是SQL语句

使用SQL语言编写出来的语句代码,就是SQL语句
在程序运营进度中,要想操作(增加和删除改查,CRUD)数据库中的数据,必须采用SQL语句
Create , Retrive, Update, Delete

  • 3.SQL语句的性状

不区分朗朗上口写(比方数据库以为user和UsEr是均等的)
每条语句都必需以分行 ; 结尾

  • 4.SQL中的常用关键字

select、insert、update、delete、from、create、where、desc、order、by、group、table、alter、view、index等等

  • 5.SQL语句的花色

数量定义语句(DDL:Data Definition Language)
包括create和drop, Alert等操作
在数据库中创建新表或删除表(create table或 drop table)
数码操作语句(DML:Data Manipulation Language)
包括insert、delete、update等操作
上边的3种操作分别用于增添、修改、删除表中的数据
数据查询语句(DQL:Data Query Language)
可以用于查询获得表中的多少
关键字select是DQL(也是装有SQL)用得最多的操作
其他DQL常用的关键字有where,order by,group by和having.


1、开启mysql服务命令

新建数据表

1、 选中数据库之后,点击侧面的“新建数据表”,填写“数据表名”。

2、 钦命数据表的字段,也正是列。在钦定字段的进度中我们要对字段增加字段名、数据类型、数据长度、是还是不是是主键、是不是自增。(超级多场所下,主键是名字为id的整数类型,而且是自增的。)

3、 为字段内定这一列的数据类型。

二,mysql基础

SQL推荐网址

  • 1.SQL推荐介绍学习网址

phpStudy.net: http://www.phpstudy.net/e/sql/sql_intro.html
W3School: http://www.w3school.com.cn/sql/index.asp
RUNOOB.COM: http://www.runoob.com/sqlite/sqlite-tutorial.html


net start mysql

自增auto_increment

自增字段中日常贮存的是整数类型的数目,用于表示数据库中的记录的序号。

自增字段的值不供给手动输入,当中的号子是机动发出的,每当向那表里面加多一条新记录的时候,自增字段会自动收取上生机勃勃行字段值,然后加后生可畏,作为新记录的主键值。(主键相对不会发生再度,尽管上一条记下被去除了)。

1,数据库;

3.SQL语句的着力使用


2、步向mysql的三种办法

哪些设置二个字段为自增

1、在开立表或在改善字段构造的时候,设置字段的数据类型为int,然后选中auto_increment上的勾。

2、当插入一条数据时,不要手动填入主键字段。

3、主键生成的数字相对不会重复,即便记录被删去。

1,积攒数据以至数据布局的厂库。(db);

基准语句

  • 1.尺度语句的冷眼旁观格式

where 字段 = 有个别值 ; // 不能够用四个 =
where 字段 is 某个值 ; // is 相当于 =
where 字段 != 某个值 ;
where 字段 is not 某个值 ; // is not 相当于 !=
where 字段 > 某个值 ;
where 字段1 = 某些值 and 字段2 > 有个别值 ; // and约等于C语言中的 &&
where 字段1 = 有些值 or 字段2 = 有些值 ; // or 约等于C语言中的 ||


青天白日步入:mysql -uroot -proot 格式:mysql -u帐号 -p密码

怎么设置主键

1、在开立表或在改造字段布局的时候,在主键字段的”索引”下拉菜单中筛选“primary”。(一张表只允许设置一个主键,平日它是int自增的。)

 

2,数据库是单身;

DDL数据库定义语句

密文踏入:mysql -uroot -p 按enter会提醒您输入密码,那时候你写的密码就博览会示为***这样。

小练习:

1、 新建三个产物product数据库

2、 在数据库中增添成品product表,并创造字段pId (主键)、pName(成品名称)、pModel(成品型号)、pPrice(产品价格)

3、 增加5条成品音信

4、 在数据库中再增加多个产品入库表(saveInLib),并树立字段:sid(主键)、pName(成品名称)、saveInTime(入库时间)、saveInCount(入库数量)。

5、 增多5条产物入库记录。

 

2,数据库是用来保管,查询,储存数据的;

新建查询

图片 8

8.新建查询.png

图片 9

9.新建查询.png


3、查看mysql中保有的数据库(平日在固化的单词命令就能够是用小写,那些要习贯,看多了敲多了就认知了卡塔尔(قطر‎

mySQL中的数据类型

在mySQL中各种字段,都必须明白它寄存的多少的花色,大器晚成旦钦定了连串,该字段(列)中的数据都必得切合这些类其他限制,否则就能够挑起错误。

 

而且字符等类型要求钦命内容的最大尺寸。

 

1,实体;表名,依照指标来划分

成立数据表

  • 1.开立数量表格式

格式: create table 表名 (字段名1 字段类型1, 字段名2 字段类型2, …卡塔尔(قطر‎ ;
示例: create table t_student (id integer, name text, age inetger, score real) ;

  • 2.SQLite数据类型

为了保持特出的编程标准、方便工程师之间的调换,编写建表语句的时候最佳拉长每一种字段的跃然纸上项目
建表时宣称类型大概不表明类型都能够,也就代表创表语句能够这么写:
就算注解为integer类型,还是能够积存字符串文本(主键除此之外)
create table t_student(name, age);

  • 3.创立表推荐写法

创设表格时, 最佳加个表格是不是曾经存在的论断, 那些防护语句多次举行时产生错误.

格式: create table if not exists 表名 (字段名1 字段类型1, 字段名2 字段类型2, …卡塔尔(قطر‎ ;

if not exists: 判定表不设偶然才创设表.

  • 4.成立表,设置主键(主键自动依次增加卡塔尔(قطر‎
    • SQL不区分轻重缓急写,编写SQL规范,最佳主要字都使用大写.表名最棒增进t_前缀.
    • PRIMARY KEY: 限制为主键.
    • AUTOINCREMENT: 自动依次增加.

创建表SQL语句: CREATE TABLE IF NOT EXISTS t_student (id integer PRIMARY KEY AUTOINCREMENT, name text, age integer, score integer);

  • 5.试行成立表的SQL语句

图片 10

10.施行成立表的SQL语句.png


前面多个数据库是mysql中自带的,相当于必得的.

int整数类型

只可以存放整数

2,属性;字段

删除表

  • 1.删除表的格式

格式: DROP TABLE IF EXISTS 表名;

  • 2.剔除表示例

删除表SQL语句: DROP TABLE IF EXISTS t_student;


SHOW DATABASES;

varchar字符类型

能够积累任一字符,满含符号、数字、字母,然而他们都会被当成字符为管理。

3,数据库系列;关系型,非关系型,档次型,网状型

修正表(重命名表卡塔尔和丰富字段

  • 1.重命名数据表的格式

格式: ALTER TABLE 旧表名 RENAME TO 新表名;

  • 2.重命名表示例

重命名表SQL语句: ALTER TABLE t_student RENAME TO t_person;

4、创制名叫test_1的数据库

Date日期

用以存款和储蓄日期和岁月

3,编码设置;

数码表加多字段

  • 1.数据表增添字段的格式

格式: ALTER TABLE 表名 ADD COLUMN 字段名 数据类型 限定符

  • 2.数目表增添字段示例

数量表增添字段SQL语句: ALTER TABLE t_student ADD COLUMN address text;


格式:CREATE DATABASE 数据库名

数值类型

TinyInt 不大的卡尺头存款和储蓄格式,1字节(8位的二进制数),它的取值范围是:不带符号时0 ~ 255,带正负号时-128 ~ 127

SmallInt 小卡尺头,2字节,不带符号时0~65535,带正负号时-32768~32767

MediumInt 中等整数,3字节,不带符号时0~16777215,带正负号时-8388608 ~ 8388607

Int 标准整数,4字节,不带符号时0 ~ 4294967295 ,带正负号时-2147483648 ~ 2147483647

BigInt 大整数,8字节,不带符号时0~18446744073709551615

 

Float 单精度浮点数,4字节,最小值,正负1.175494351E-58(1.175494351*10-58)最大值,正负3.102823466E+38(3.102823466E*1038)

Double 双精度浮点数,8字节,最小值,正负2.22507385072015E-308,最大值:正负1.17976931348623157E+308。

 

Decimal 以字符串情势储存浮点数。它的取值范围不是原则性的,决议于客户钦定的尺寸。

gbk;中国和日本韩文言

DML数据库操作操作(增加和删除改State of Qatar


CREATE DATABASE test_1;

数值类型的字段能够设置的参数:

gb1312;中文

安排数据(insert)

  • 1.插入数据格式
    • 注意: 数据库中的字符串内容应该用单引号 ’ 括住;

格式: insert into 表名 (字段1, 字段2, …) values (字段1的值, 字段2的值, …) ;

  • 2.插入数据示例

布署数据示例: INSERT INTO t_student (name, age) VALUES ('liwx', 18);


5、删除名字为test_1的数据库

unsigned属性

“收拾”菜单中的unsigned选项,代表无符号,代表这一字段中的数值无法为负数,因为无符号就是象征未有正负号。要是“收拾”菜单留空,什么都不选的话,正是意味着有标记,可认为正数也可认为负数。

utf8;大型编码;

履新数据(update)

  • 1.翻新数据格式

格式: update 表名 set 字段1 = 字段1的值, 字段2 = 字段2的值 where 条件;

  • 2.立异数据示例
    • 注意: WHERE 条件是 =号,不是==号.

立异数据示例: UPDATE t_student SET age = 19 WHERE name = 'liwx';


格式:DROP DATABASE 数据库名

unsigned zerofill属性

当数码的增加率小于类型的最大开间时,则在数据前边自动填充0

4,私下认可引擎;

删去数据(delete)

  • 1.剔除数据格式

格式: delete from 表名 where 条件;

  • 2.翻新数据示例

更新数据示例: DELETE FROM t_student WHERE name = 'liwx';


DROP DATABASE test_1;

auto_increment

自增

INNODB;默认的

DQL数据库查询语句(查询State of Qatar

  • 1.询问数据格式

格式1: select * from 表名;, *:通配符,表示全部字段.
格式2: select 字段1, 字段2, … from 表名;
格式3: select 字段1, 字段2, … from 表名 where 条件;

  • 2.询问数据示例

履新数据示例1: SELECT * FROM t_student;
校勘数据示例2: SELECT name, age FROM t_student;
更新数据示例3: SELECT name, age FROM t_student where name = 'liwx';


计算:学习了对数据库的两个操作,1、查看全数数据库 2、创立数据库 3、删除数据库

默认à定义

本条选项代表,填充数据时假若该字段为空值时,所使用的暗中认可值。

数据表的引擎日常都要设成INNODB

4.查询相关语句

三、数据表的基本操作

字符串数据类型

字符类型能够积攒任何值,以致是二进制方式的图像、声音、录像。

CHAR[M] 代表M字节的字符。

varChar 常用的字符存款和储蓄格式,使用时索要钦命最大内容长度。

5,常用的有的数据库

计算查询

  • 1.count(X)计量记录个数

算算有所记录个数: SELECT count(*) FROM t_student;

测算age有值的记录个数(Null不划算在内卡塔尔国: SELECT count(age) FROM t_student;

  • 2.avg(X)计量有个别字段的平均值
  • 3.sum(X)算算某些字段的总和
  • 4.max(X)计量某些字段的最大值
  • 5.min(X)算算有个别字段的最小值

数据表和数据库还可能有Mysql三者的关系

积攒大体积的文件

TinyBlob ,blob,TinyText,text

前七个是表示二进制字符串,后三个是象征非二进制字符串,都得以积攒大批量的文本消息。

MediumBlob,MediumText

LongBlob,LongText

sqlserver ,access是微软的数据库

排序查询

  • 1.升序ASC

格式: SELECT 字段1(或*) FROM 表名 ORDER BY 要排序的字段名 ASC;

示例: SELECT * FROM t_student ORDER BY age ASC;

  • 2.降序

格式: SELECT 字段1(或*) FROM 表名 ORDER BY 要排序的字段名 DESC;

示例: SELECT * FROM t_student ORDER BY age DESC;

  • 3.四个字段排序

格式: SELECT * FROM 表名 ORDER BY 字段名1 排序类型, 字段名2 排序类型;

示例: SELECT * FROM t_student ORDER BY age ASC, score DESC;


mysql中保存了过很多据库、一个数据库中得以保留非常多表。

枚举类型

ENUM / SET 类型

设置其暗许值为(‘值1’, ‘值2’, ‘值3’,…卡塔尔,由顾客钦赐八个可选值,字段中的值必得是当中之生龙活虎,最七只好有655三14个可选值。

 

oracle,mysql,java都是oracle公司的

limit分页查询

  • 1.limit分页查询

格式: select * from 表名 limit 数值1, 数值2 ;

示例: SELECT * FROM t_student LIMIT 4, 8;: 跳过最前方4条语句,然后取8条记录.

  • 2.查询第n页的数量
    • 借使豆蔻梢头页显示5条数据.

示例: SELECT * FROM t_student LIMIT 5*(n-1), 5;

  • 3.异样案例

示例: select * from t_student limit 7;
相当于: select * from t_student limit 0, 7;

对数据表的增查。 注意:这里的操作对象是表,对表的操作相当于表的布局,和表中的字段的操作

日期时间项目

Date 1000-01-01 ~ 9999-12-31

TIME -838:59:59~838:59:59

DateTime 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

TimeStmp 一九七零-01-01 00:00:00 到2037年的之间的某叁个每一天

Year 存储1901~2155年的一个年度。

 

dbz 是IMB公司的

5.多表查询

前提:表是在数据库下的,所以要先确实使用哪个数据库。

小练习:

1、 创造一张工作者数据表,employee,富含字段:eId(标准整数,主键、自增卡塔尔、姓名eName(varchar,50State of Qatar、岁数eAge(tinyInt,无符号)、工号eNum(smallInt,不足的位数用0填充)、教育水平(枚举:初级中学~大学生)、性别(枚举:男,女)、出出生之日期(DateTime)、基本薪金(Float,暗许:1300)、毛遂自荐text。然后输入五名职员和工人的音信。

 

 

T-SQL语言根底之增加和删除改查

sybase 是sybase公司的;

多表查询

  • 1.多表查询数据

格式: select 字段1, 字段2, … from 表名1, 表名2;


USE test_1;

SQL语句

是一门特地用来数据库操作的语言,SQL语句的语法不仅适用于mysql数据库,同一时候也适用于差不离具有的主流数据库。当然差别厂家出口的数据库在语法细节上依旧稍稍异样。

 

三,DDL;数据定义语句;设计语句

别名

动用项景: 当多少个表的字段同名时,能够应用小名来区分不一样表同名字段.

  • 1.数量表小名

格式: select 别名1.字段1 as 字段别名1, 别名2.字段2 as 字段别名2, … from 表名1 as 别名1, 表名2 as 别名2 ;

能够给表也许字段单独起小名, as 能够省略.


格式:CREATE TABLE 数据表名(

select语句

查询语句,特地用来在数额表中遵照顾客内定的标准实行查询。

1,基本命令

表连接查询

格式: select 字段1, 字段2, … from 表名1, 表名2 where 表名1.id = 表名2.id;

字段名1 数据类型[列等级节制标准],

简单易行语法描述:

SELECT <字段1,字段2,字段3…..> FROM <数据表名> [WHERE 挑选规范]

其间字段部分代表你想要从那张数据表中询问哪些字段(列),如若要查询所有字段,能够 * 号表示。

示例:

SELECT pName FROM product

//从产品表中查询所有产品名称

SELECT pName,pPrice FROM product

//从产品表中查询所有产品名称和价格

SELECT * FROM product

//从产品表中查询中所有产品的字段

SELECT pName,pPrice-30 FROM product

//在查询时给所有产品减30元

SELECT pName as '产品名',pPrice as '价格' FROM product

//在查询时修改结果集中的字段名

SELECT 3.1415926 *12 *12

//用select语句来进行数学运算

 

1,登录;mysql -h localhost -uroot -p

字段名2 数据类型[列等级节制原则],

where子句

概念一个询问条件,然后在查询进程中用那一个条件来挑选切合条件的笔录。

 

SELECT * FROM product WHERE pPrice >=1000

查询价格大于等于1000的产品

SELECT * FROM product WHERE pPrice <>3000

SELECT * FROM product WHERE pPrice !=3000

查询价格不等于3000的产品

SELECT * FROM product WHERE pName = '中兴z954'

 

询问产物名称是中兴z954的制品消息(在mysql中双引号与单引号都意味字符串,可是推荐应用单引号,因为大家今后要读书的mssql server 中字符串用单引号表示)

2,退出;exit

字段名3 数据类型[列等第节制原则]

逻辑与and

SELECT * FROM product
WHERE pPrice <800 AND pId >6 AND pName ='Nokia v998'

 

3,查看当前岁月日期;select now(卡塔尔国;

瞩目:格式不必然需求这么隔着写,完全能够全方位写成生龙活虎行。可是那样写可观性比较倒霉。小编那样写只是为着能够看的更清楚。

逻辑或or

SELECT * FROM product

WHERE pPrice <800 OR pId >6

 

4,当昨日期;select curdate(卡塔尔;

1、[]中括号中的内容表示可以有能够未有,

逻辑非not

SELECT * FROM product

WHERE not pName = '中兴z954'

 

 

5,当前时光;select curtime(State of Qatar;

2、列等级这几个“列”一定要搞明白说的是怎么着,一张表中有行有列,列表示竖,行表示横

insert插入数据

向内定的数据表的钦赐字段插入一条记下。

6,打字与印刷版本音讯;select version(卡塔尔国;

3、约束标准前面会讲到

语法:

INSERT INTO 表名(字段1,字段2,字段3,……) values(值1,值2,值3,….)

里面,字段的地点与值的岗位必需逐风姿潇洒对应。

7,查看当前客户;select user(卡塔尔(قطر‎;

1.1、创建没有限制的student表

示例:

INSERT INTO userinfo(uName,uPhone,uIDCard)

VALUES('江小白','010-89562321','5001234567814541X')

 

向数据表中插入一条顾客消息

 

INSERT INTO userinfo(uName) VALUES('张小强')

插入一条客商音讯,不过只有姓名,其余字段自动留空或接受私下认可值(若是内部某些字段设置为不许为null,而未有默许值的话,就相当有必要给那个字段赋值了)。

 

INSERT INTO userinfo VALUES

(3,'王小虎','010-89562321','5001234567814541X')

 

能够省略字段名,但是全体的字段都不得不根据顺序来挨门逐户赋值。满含主键ID(要根据顺序来填写主键值)

 

一次性插入多条语句

insert into student(sName,sAge,sSex,sPhone)

values('小黑',20,'女','010-89562314'),

('小强',20,'男','020-89562314'),

('小红',20,'女','021-89562314'),

('小黄',20,'男','019-89562314'),

('小李',20,'女','022-89562314')

 

 

8,运转mysql后台服务(助理馆员运营命令窗口);

 CREATE TABLE student, name VARCHAR;

Update纠正数据

基于钦定的尺度规定必要更正的行,然后校勘钦命字段的数码。

net start mysql;

注明:SHOW TABLES 查询数据库底下的全数表。

语法:

update 数据表名 set 字段1=值1,字段2=值2,……..WHERE 条件

纵然where是一个可选参数,然则日常意况下都亟待写where条件,假诺不写就是改善整张表的具备行。

9,关闭mysql后台服务(管理员运营命令窗口);

1.2、创立有约束的student表

示例:

UPDATE userinfo SET uName = '江老怪' WHERE uid = 1

 

改革第1条记下的姓名称为江老怪

UPDATE userinfo SET uName = '江老怪'

 

订正全数行的客商名为江老怪

UPDATE userinfo

SET uName = '小二黑',uPhone='111111',uIDCard='11111111' WHERE uid = 3

 

 

net stop mysql;

六大封锁:主键节制、外键约束、非空约束、唯朝气蓬勃限制、暗中认可约束、自动扩张

delete删除

听闻条件删除钦赐的记录

2,操作库

P卡宴IMA本田CR-VY KEY和不能为空,通俗的讲,正是在表中加进记录时,在该字段下的多寡没办法重新,不可能为空,举例以地点制造的表为例子,在表中追加两条记下,假诺id字段用了主键约束。则id不可能同风度翩翩,而且无法为空。日常每张表中度有多个字段为主键,唯后生可畏标志那条记下。现在须求找到该条记录也得以同这几个主键来认同记录,因为主键是独占鳌头的,何况非空,一张表中各类记录的主键度分裂等,所以基于主键也就会找到呼应的笔录。实际不是多条重复的记录。若无主键,那么表中就能够存在繁多种复的笔录,那么即浪费存款和储蓄空间,在询问时也消耗更加多能源。

语法:

delete from 表名 where 条件

固然如此where是一个可选参数,不过通常状态下都亟需写where条件,如若不写便是剔除整张表的兼具行。

1,查看数据库;show databases;

貌似被主键限定了的字段度习贯性的称该字段为该表的主键

示例:

DELETE FROM userinfo WHERE uid = 2

 

 

2,创制数据库;create database 库名 字符集;

CREATE TABLE student( CREATE TABLE student PRIMARY KEY, id INT,

小练习:

1、 记念背诵增加和删除改查钦命的语法。

2、 手动新建四个数据库product,在内部新建数据表product,这一个表中的字段:pid(主键)、pName(付加物名)、pModel(型号)、pIntro(简要介绍)、pFrom(生产地区卡塔尔(قطر‎、pPrice(价格) 。

3、 用insert语句增加10条分歧的付加物数量

4、 查询

a) 查询全部成品数据

b卡塔尔(قطر‎ 查询全数产物的付加物名和价格

cState of Qatar 查询全部价格在二〇〇〇之上的产品

dState of Qatar 查询全数产品为安卡拉还索要的价格格当先3000的出品

e卡塔尔国 查询全体产区不是大连的制品

5、 将第5条记下的付加物号校勘为T1000

6、 删除全部价格小于5元的成品。

 

将第三题之后的sql语句复制到四个word文档中,然后老董检查组员,班长检查老总。

3、5、6每题20分。

第4题中的每一种小题8分共40分

 

命令行与高端查询

3;删除数据库;drop database 库名;

name VARCHAR,

Mysql命令行

1、 在phpstudy的右键菜单中,mysql工具 à mysql命令行

2、 弹出的通令框中指示”enter password”,输入默许密码root

3、 要是看见”you mysql connection”就证实您登入成功了。

4、 在指令行中,每一条指令都一定要以分行;截至,否则系统会认为你这条指令还没曾做到,始终必要您继续输入。

 

3,改革数据库密码账户登入密码

); PRIMARY KEY;

翻看数据库列表

show Databases

1,用SET PASSWORD命令

本条id和name都市主键,表明在事后增添的插入的笔录中,id和name不可能并且同样,比方说能够是如此。一条记下为id=1,name=yyy、另一条记下为:id=1,name=zzz。 那样是能够的。并不是你们所精通的多少个字段分别度无法一直以来。

选取数据库use

set password for 用户名@localhost = password('新密码'); 

CREATE TABLE student(CREATE TABLE student PRIMARY KEY, id INT,

格式:

use 数据库名

选定钦命数据库为当前暗中认可被操作的数据库。

在行使操作数据表中的数据以前,应当要选定二个当下数据库。

 

2,用mysqladmin

name VARCHAR PRIMARY KEY, name VARCHAR,

陈列出当下数据库中的数据表

show tables

mysqladmin -u用户名 -p旧密码 password 新密码 

); PRIMARY KEY;

位列出多少表中的字段

格式:show columns from 表名

Describe 数据表名

 

3,用UPDATE直接编辑user表

什么样是外键譬喻就了然了,有两张表,一张表是emp表,三个职员和工人归属一个单位,那么哪些通过职工能让大家和煦他在哪些部门吧?那就一定要在职工表中增加叁个字段,能代表职员和工人所在的单位,那该字段就只可以是积攒dept中的主键了(因为主键是并世无两的,才干确实是哪个机构,进而代表职员和工人所在的机构,即便是单位名称,有个别单位的名号只怕是同名。就不可能分别了。卡塔尔(قطر‎,像这么的字段,就相符外键的性情,就足以行使外键节制,使该字段只可以够存款和储蓄另一张表的主键。如若不被外键约束,那么该字段就不能确定保证仓库储存进来的值就必然是另一张表的主键值。

数据库与数据操作

mysql> use mysql; 

1、外键节制能够描述大肆一个字段,可以为空,并且三个表中能够有四个外键。可是外键字段中的值必须是另一张表中的主键。

创造贰个新的数据库

指令格式:create database 数据库名

mysql> update user set password=password('123') where

2、那样被外键关联的三种表的关联足以称作父亲和儿子表恐怕主从表。子表被外键字段所指向的表。

在眼下数据库中创建数据表

留意,在创设以前必需筛选当前数据库。

格式:create table 表名(字段1 数据类型,字段2 数据类型,……卡塔尔(قطر‎

示例:

create table stdInfo(

sName varchar(20),

sAge int,

sSex varchar(5)

);

 

user='root' and host='localhost'; 

3、子表被外键约束修饰的字段必得和父表的主键字段的门类相符。

创造富含自增主键的数据表

示范:制造顾客表:

create table customers(

 id int not null auto_increment,

 name varchar(20) not null,

 age int not null,

 address varchar(100) not null default 'empty',

 primary key(id)

);

 

说明:

not null 代表该字段分裂意现身空值,正是说当你使用insert语句插入数据记录的时候,必需向这几个字段赋值,不然数据操作将生出错误。

auto_increment 自增

Default 默认值

Primary key 钦定数据表的主键

mysql> flush privileges; 

在乎:三个表中有被外键修饰的字段,就称该表有外键,并会给该表中的外键约束取一个称谓,所以大家常说的这一个表有未有外键,指的不是被外键限制修饰的字段名,而是指那么些表是不是有存在外键限制。也正是说,不能够说那些表的外键是xxx,这种说法是谬误的,可是非常多人已经习见了这么,尽管影响相当小,可是在不菲时候必要精通一个东西时,会变成一定的麻烦。

去除数据表

格式:drop table 数据表名

4,在忘记root密码的时候,能够这么

格式:CONSTRAINT 外键名称 FOREIGN KEY REFERENCES 主表名

去除数据库

格式:drop database 数据库名

(1卡塔尔(قطر‎, 关闭正在运作的MySQL服务。 

希腊语解释:CONSTRAINT:节制 REFERENCES:参照他事他说加以考查

修正表布局:增添字段

加多三个字段

alter table student add sScore float null;

 

其中:

add 代表扩展一列

Null 代表这一个字段允许空值。

student 是数量表名

sScore 是新添的字段名,前面是数据类型。

(2), 打开DOS窗口,转到mysqlbin目录。 

CREATE TABLE tableA , name VARCHAR, location VARCHAR ); CREATE TABLE tableB , name VARCHAR NOT NULL, deptId INT, CONSTRAINT tableA_tableB_1 FOREIGH KEY REFERENCES tableA;

修改表布局:删除字段

alter table student drop column sScore;

 

其中:

drop column 代表删除字段操作

sScore 要被去除的字段名

student 是表名

(3),输入mysqld --skip-grant-tables 回车。

解释:tableB中有叁个名叫tableA_tableB_1的外键关联了tableA和tableB三个表,被外键节制修饰的字段为tableB中的deptId,主键字段为tableA中的id

重命名数据表

rename table student to sInfo;

 

留意:to前边是修改前的原表名,to后边是校正后的新表名。

--skip-grant-tables 的野趣是开发银行MySQL服务的时候跳过权限表认证。 

NOT NULL. 被该约束修饰了的字段,就不能为空,主键节制中就回顾了那一个限定

校勘表结构:增加自增主键

alter table product

 add pid int

 not null

 primary key

 auto_increment

 first;

 

其中

primary key 设置新字段为主键

first 将新字段放在别的字段的近些日子,处于第壹位。

 

(4卡塔尔,再开二个DOS窗口(因为刚刚充足DOS窗口已经不可能动了),

CREATE TABLE tableA , name VARCHAR NOT NULL, location VARCHAR );

小练习:

请同学把具有SQL都写到五个SQL文件中,按“班级-姓名(能够是拼音卡塔尔(قطر‎.SQL”的不二等秘书技保存

某学校的学员管理数据库中有学子表(T_STUDENT)、班级表(T_CLASS卡塔尔国,表布局及仓库储存的数码如下表所示:

学生表(T_STUDENT):

STU_ID

(int, 主键,学号)

STU_NAME

(nvarchar(10),姓名)

STU_AGE

(int,年龄)

STU_CID

(int,外键,班级号)

1

张三

18

1

2

钱四

16

2

3

王玲

17

3

5

李飞

19

4

9

赵四

18

5

10

李可

20

6

11

张飞

18

7

12

周瑜

16

8

13

王亮

17

7

14

董庆

19

1

15

赵龙

18

2

16

李丽

20

3

班级表(T_CLASS):

CLS_ID

(int, 主键, 班级号)

CLS_JOB

(nvarchar(50), 专业名)

CLS_DEPART

(nvarchar(50), 系名)

CLS_DATE

(int, 入学年份)

1

软件

计算机

2013

2

微电子

计算机

2013

3

无机化学

化学

2014

4

高分子化学

化学

2012

5

统计数学

数学

2015

6

现代语言

中文

2016

7

国际贸易

经济

2013

8

国际金融

经济

2014

 

用 SQL 语言产生以下成效

  1. 建库、建表,必要添加主键
  2. 布署钦点的数额
  3. 找寻装有岁数低于19岁的学子学号、姓名、年龄。
  4. 学员张三转到化学系 111 班,请更新相关的表。
  5. 删去班级表的主键这一列。
  6. 将学员表改名称为T_STD
  7. 为班级表增添字段CLS_COUNT人数字段
  8. 为班级表加多主键。
  9. 删去班级表

 

 

mysql_4_聚合函数

转到mysqlbin目录。 

UNIQUE 被唯生机勃勃约束修饰了的字段,表示该字段中的值唯生机勃勃,不能够有平等的值,通俗点讲,就好比插入两条记下,这两条记下中居于该字段的值不可能是如出风华正茂辙的。

mysql数据库的备份与还原

(5State of Qatar,输入mysql回车,若是成功,将现出MySQL提醒符 >。 

CREATE TABLE tableA , name VARCHAR UNIQUE, location VARCHAR );

备份

在phpmyAdmin中央银行使“导出”作用将数据表的协会与数码保存为一个.sql文件(保存格式选用SQL)

(6State of Qatar,连接权限数据库: use mysql; 。 

相当于说在插入的笔录中,每条记下的name值不可能是同等的。

恢复

在phpmyAdmin中式茶食击“导入”,选用.sql文件的门径(格式选用SQL),点击实行。

 

(7), 改密码:update user set password=password("123") where user="root";

Default 钦命这一列的暗许值为多少,例如,男人同学超多,性别就可以设置为暗许男,如若插入大器晚成行记录时,性别没有填,那么就暗中同意加上男

mysql中的聚合函数

就算对点名字段中的一列数据开展总计和平运动算的函数。

(别忘了最终加分号) 。 

CREATE TABLE table PRIMARY KEY, name VARCHAR NOT NULL, deptId INT DEFAULT 1111, salary FLOAT );

GROUP BY分组

在钦点字段上校数据内容重复的笔录,聚合为大器晚成组。剔除重复的值。

示例:

SELECT * FROM student GROUP BY sSex

SELECT sName FROM student GROUP BY sAge

 

(8State of Qatar, 刷新权力(必需步骤):flush privileges; 。 

1.2.6:自动增添

COUNT 计算个数

用以总结(按准则)查询出聚合后的笔录或询问的结果一共有些许条。示例:

SELECT COUNT(*) FROM student //统计表中一共有多少条记录

SELECT COUNT(1) FROM student //同上,性能更强。

SELECT COUNT(1) FROM student WHERE sAge>17 //统计符合条件的记录总数

SELECT COUNT(1),sSex FROM student GROUP BY sSex

//将GROUP BY与COUNT两个函数结合起来使用,按性别进行分组统计。

 

(9), 退出 quit。 

AUTO_INCREMENT 叁个表只可以叁个字段使用AUTO_INCREMENT,并且应用那一个约束的字段只可以是整数类型(任性的整数类型 TINYINT,SMALLIN,INT,BIGINT卡塔尔国,暗许值是1,也正是说从1开端增添的。日常正是给主键使用的,自动增加,使各个主键的值度比极小器晚成致,而且毫不我们友好管理,让主键自身自动生成

AVG求平均值

格式:AVG(字段名)

对点名的字段中(一列中卡塔尔(قطر‎ 的数据值进行求平均值的演算。

SELECT AVG(sAge) FROM student

SELECT AVG(sScore) FROM student WHERE sAge<=18

SELECT AVG(sScore),sSex FROM student GROUP BY sSex

 

 

(10卡塔尔(قطر‎, 注销系统,再进来,使用客商名root和刚刚设置的新密码123记名。

 CREATE TABLE table  PRIMARY KEY AUTO_INCREMENT, name VARCHAR;

GROUP_CONCAT分组连接

将一张表中的多行记录中的钦赐的字段值,连接成一个字符串。每种值期间以逗号举办分隔。平时用于获取聚合后的每种分组中玉蜀黍的成员。

SELECT GROUP_CONCAT( sName ) FROM student

//连接所有学生的姓名

SELECT GROUP_CONCAT( sName ) FROM student WHERE sAge>18

//连接所有18岁以上的学生姓名

SELECT GROUP_CONCAT(sName),sSex FROM student GROUP BY sSex

//得到所有男生和女生的名单

 

 

四,DML;数据操作语句;增加和删除改

2、查询表结构

ORDER BY排序

依据钦定的字段的值的大小的顺序,来排列查询的结果。

SELECT * FROM student ORDER BY sScore

//通过成绩来排列学生。默认为升序(从小到大)

SELECT * FROM student ORDER BY sScore DESC

//通过成绩来排列学生。添加DESC就是降序(从大到小)

 

 

1,表的增加和删除改查

2.1、查看表基本组织语句

最大值最小值MAX(卡塔尔、MIN(卡塔尔国

在查询结果中的内定字段中找到最大的值或一点都不大的值。

SELECT MAX(sScore) FROM student

//得到成绩最高分数

SELECT MIN(sScore),sSex FROM student GROUP BY sSex

//分别得到男生和女生最低分

 

 

1,进入库;

格式1:DESCTiggoIBE 表名/DESC 表名 那三个的意义是同大器晚成的,简写了单词describe

求和sum()

在询问结果中对点名字段的值求和。

SELECT SUM(sSCore) FROM student

//全班总分

SELECT SUM(sSCore),sSex FROM student GROUP BY sSex

//查看男生总分和女生总分

 

 

use 库名称;

DESCRIBE student;

小练习:

1、用Create指令成立一个产物发售记录数据表,包蕴字段:付加物名、出售地区、发卖数额、发卖金额。(10分卡塔尔国

2、倘诺本公司贩卖的制品唯有二种,发售地区也独有七个。用insert语句插入十条产品出售记录。(成品与贩卖地区自然有双重值。)(15分卡塔尔国

3、计算每一个付加物的发售总额(10分卡塔尔

4、统计种种成品的平均发卖额。(10分卡塔尔

5、总结每个产物的行销总的数量据。(10分卡塔尔(قطر‎

6、在每一个地点发卖的每一种付加物的称呼,连接成一个以逗号分隔的字符串。(15分卡塔尔(قطر‎

7、同不时候总结每个产物的最大出卖额。(10分卡塔尔国

8、计算成品在各区的最低贩卖额。(10分卡塔尔国

9、获得总发卖额。(10分State of Qatar

 

 

 

 

 

 

 

mysql_高端查询

2,创建表;

2.2、查看创造表的说话

数码过滤通配符

通配符,便是指能够通用的合作其余字符的号子。

create table student(表结构 类型,表结构 类型);

格式:SHOW CREATE TABLE 表名

%通配符

%代表专断个数的任一字符,它经常是用在select语句中与LIKE关键协作使用的。

5,删除表;

SHOW CREATE TABLE student;

示例:

SELECT * FROM student WHERE sName LIKE '王%'

 

检索全部姓王的学子

LIKE关键字在这里地代表模糊查询,不是像=那样必得完全匹配。

 

SELECT * FROM student WHERE sName LIKE '%五'

 

查找以“五”字最后的数目

 

SELECT * FROM student WHERE sName LIKE '%老%'

 

检索中间含有“老”字的字符。

在乎:固然数据的起来或最终为空,还是能够合作到数码,因为%不但代表专擅个数的随便字符,它生机勃勃律也足以表示未有字符。

drop table 表名称

那样展现的格式很倒霉,看不清楚,所以有了上边那几个讲话

注意事项:

1、%不但代表私自个数的随意字符,它也得以空字符。

2、数据后面部分的空格大概会苦闷通配符的追寻,比方:现存数量’abc  ’,若是它提起底有三个或五个空格的话,则 %abc将不会查找到该数额,因为背后多余的空格也是字符。解决措施是前后都加上%。

3、%不可能相配null值。

 

6,校勘表名称;

格式:SHOW CREATE TABLE 表名G

_(下划线)通配符

_ 通配符的效果与利益与%相仿,可是它只可以合作单个自便字符。

 

alter table 表名称 rename 新表名称;

SHOW CREATE TABLE studentG;

示例:

SELECT * FROM student WHERE sName LIKE '小_'

SELECT * FROM student WHERE sName LIKE '小__'

 

搜寻以“小”最初的事后随机五个字符的数量,并且必需是两个字。

 

只顾:下划线与%不一样的是前者不相称字符,必得得有一个字符才具合作。

 

SELECT * FROM student WHERE sName LIKE '_老_'

 

 

7,查看表;

修正数据表饱含:对表中字段的扩张、删除、改革。 在这几个里面用的严重性字为 ALTE福睿斯

SELECT 查询中的关键字

show tables;

格式:ALTER TABLE RENAME[TO];

in关键字

在三个晤面中开展相称,只要数据与聚聚焦的任性豆蔻梢头项类似,就感觉数据知足条件。

 

SELECT * FROM student WHERE sAddress IN('北京','西安','天津','山东')

 

招来地址是 法国巴黎,麦德林,巴拿马城 或 江西的学童新闻

 

9,查看新扩展表的正式写法;

将student表名改为student1

limit关键字

limite后边需求跟八个数字,代表从钦赐的记录最早(使用数据记录在情理上的顺序实际不是ID),查找多少条记下出来。

show create table 表名称;

ALTER TABLE student RENAME TO student1;

注意:

1、 次序是从0以前的,也正是说第一条记下的序号是0

2、 这里的序号不对等ID,它独有是意味着排列次序。

3、 LIMIT关键字是mysql所独有的,举个例子:mssql和Oracle中就一贯不Limit关键字。

 

SELECT * FROM student LIMIT 3,2

 

从第4条记下开端,获取之后的两条记下。

 

2,字段增加和删除改;

3.2、改进表中的字段名

join关键字 – 链表

join关键字用于在数据库中况兼询问多张存在涉嫌关系的数据表。

 

1,增多字段;

格式:ALTER TABLE CHANGE

as关键字

用来对字段段取三个别称

SELECT sName as '姓名',sAge as '年龄',sAddress as '地址' FROM student

 

 

alter table 字段名称 add 定义列;

将student表中的name字段名改为 username

多表查询

2,改良字段;

ALTER TABLE student CHANGE name username VARCHAR;

内连接

便是指仅仅查询两张表中有关系关系的数量,而还没涉嫌关系的数目是不会被询问出来的。

 

 
   

 

alter table 表名称 change 旧字段名称 新字段名 类型;

3.3、改正表中的数据类型

方式一:select同时from多张多

在select的from语句后还要写入多张表的名字,然后在where条件语句中写入多表之间的总是条件。

 

示例:

SELECT * FROM student,score WHERE student.sid = score.sid

 

在意:内连接之中,要分主表和附表,附表只是用来对主表所缺乏的开始和结果进行填空,举个例子上例中,主表是学员成绩,student学子只是在补偿主表中缺乏的学童姓名等数据。

SELECT

student.sName as '姓名',

   student.sAge as '年龄',

   score.sProject as '科目',

   score.score+10 as '成绩',

   score.sid as '编号'

FROM student,score

WHERE student.sid = score.sid

 

 

在多表查询的时候,为了防止由于字段名重复而发生错误,我们得以在字段名前面加上表名,以示区分。

 

3, 删除字段;

格式:ALTER TABLE MODIFY

方法二:inner join

运用inner join一样能够成功上例中的功用,何况主表与附表、连接条件一览了解。INNE奥迪Q5 JOIN子句的前边是主表,前面是附表,ON前面是表连接的尺度。

 

SELECT

   student.sName as '姓名',

   student.sAge as '年龄',

   score.sProject as '科目',

   score.score as '成绩',

   score.sid as '编号'

FROM score INNER JOIN student

ON score.sid = student.sid

 

 

小心:省略INNE汉兰达直接写JOIN关键字,也是当中连接。

 

alter table 表名称 字段名;

ALTER TABLE student MODIFY username VARCHAR;

左连接

在两张表联合查询的时候,作者要显得主表中回顾未有关联关系的数目在内的具有数据。

 

SELECT * FROM score

LEFT JOIN student

ON score.sid = student.sid

 

 
   

 

4,查看字段结构;

演讲:只可以改良字段名的数据类型,不过其规律跟下面change做的业务同样,这里也是有纠正字段名的经过,只可是修改后的字段名和修改前的字段名相近,可是数据类型分裂等。

右连接

查询附表(JOIN关键字之后的表卡塔尔中蕴藏未有提到关系的多寡在内的具备数据。

SELECT * FROM score

RIGHT JOIN student

ON score.sid = student.sid

 

desc 表名称;

3.4、改良字段的排列地点

多张表连接

示例:

SELECT * FROM score

INNER JOIN student ON score.sid = student.sid

INNER JOIN class ON student.cid = class.cid

 

3,增加数据;

方式1:ALTER TABLE MODIFY FIRST|AFTER

经过重大字IN来实行关联合检查询

询问全体数学成绩在60分以上的上学的小孩子的音信。

Select * from student where

sid in

(

    SELECT sid FROM score

    WHERE score >60 And sProject = '数学'

)

 

IN在那地表示,sid必需与(卡塔尔内的查询结果之一相等。

 

1,扩充对应数据;

解释:将字段1的职位放置第意气风发,只怕放到钦定字段2的前面

insert into 表名称(字段1,字段2........卡塔尔values('j138',"红瓦寺".......卡塔尔选取插入有些列;

ALTER TABLE student MODIFY username VARCHAR AFTER age;

2,扩充某行数据

方式2:ALTER TABLE CHANGE FIRST|AFTER

insert into classes values(null,'j139',"红瓦寺"卡塔尔国 插入全数列,自增粘以null占位

表达:其实是风流洒脱律的,将是字段2覆盖字段1,然后在進展排序

3,扩展整个数码

ALTER TABLE student CHANGE username username VARCHAR AFTER age;

INSERT INTO t_student VALUES

总结

(1,'张三',20,'男'),

CHANGE和MODIFY的区别?

(2,'李四',25,'男'),

规律都市近似的,MODIFY只好改革数据类型,可是CHANGE能够改过数据类型和字段名,也正是说MODIFY是CHANGE的更具体化的一个操作。恐怕感觉用CHANGE只改动三个数据类型不太爽,就扩充了一个能直接改数据类型的使用首要字MODIFY来操作。

(3,'王五',19,'女')

格式:ALTER TABLE ADD[自律原则][FIRST|AFTER]

4, 拷贝数据

阐述:在叁个特定岗位扩展一个新的字段,若是不钦定地点,默许是最后三个。

从classes表中询问全体的class_name 插入到className表中的(class_name)字段

ALTER TABLE student ADD sex VARCHAR;

insert into 新表名(新字段名卡塔尔国 select 旧字段名 from 旧表名

格式:ALTER TABLE DROP;

insert into className(class_name) select class_name from classes

ALTER TABLE student DROP sex;

4,改进数据;

3.7、删除表的外键约束

1,改善某行的多寡

格式:ALTER TABLE DROP FOREIGN KEY

update 表名称 ste 字段名,字段名=值 where id;

留心:外键节制名 指的不是被外键节制修饰的字段名,切记,而是我们在创设外键节制关系时取的名字。

UPDATE 表名 SET 列1=新值1,列2=新值2 WHERE 过滤条件

3.8、校正表的囤积引擎

2,改良某列的有个别数据

格式:ALTER TABLE ENGINE=

UPDATE classes set class_name=null where class_id=3

本条蕴藏引擎目前自个儿要好也不太通晓,即便掌握有哪两种引擎,不过多少尖锐一些就不知道了,所以筹算留到日后在说。

'' 和null 同样啊?? 严峻意义不等同

格式:DROP TABLE;

5,删除数据;

ALTER TABLE student;

1,删除大器晚成行数据

4.2、删除被其余表关联的主表

delete form 表名称 where id;

本条是非常主要的少数,在有外键关联关系的两张表中,尽管剔除主表,那么是删不掉的,况且会报错。因为有张表信任于她。那如何是好吧?针对这种状态,总共有二种方法

2,删除年龄在18-20

1、先删除你子表,然后在剔除父表,这样就高达了删除父表的指标,然而子表也要被删去2、先去掉外键关系,然后在剔除父表,这样也能实现目标,并且保留了子表,只删除大家无需的父表。在3.7中就解说了如何删除此而外键关系。

DELETE FROM t_student WHERE 年龄 BETWEEN 18 AND 20

四、总结

delete from student where age>=18 and age<=20

讲了那样多,但实际上中,用到的并不是广大,极其是对表结构的改良的操作,在实际上支出中,平时数量库表被定义下来了,就不会在改进了,开采数目库表设计的倒霉,也是将表全部去除,然后在重新创设过新表。可是在大家上学的进程中,那一个操作依旧超级重大的,因为须求那个根基来读书前面越来越尖锐的东西,不容许因为实在中不用,就不学那不学那,要相信,不管做什么样,那自然是有意义的工作,大概那意思并比不大,但是随后自然会对大家具备帮忙。

6,注意

1,t_表示表名;字段 爱尔兰语 田野(field卡塔尔国

2,f_意味着字段名;表格 法文 table

3,pk_意味着主键;主键限制primary key

4,fk_代表外键;外键格式 foreign key;

5,外键名准绳;FK_本表名_与之提到的表的名字

6,有主从表的时候数据插入先插主表,在插从表;有外键的是主表

7,sql语句中也得以用true和flas,true表示1相通代表男,flas表示0日常代表女,是int型

五,DCL;数据调整语句;调整

1,索引

1,成立索引;

create index 索引名称 on 表名称(列名称,列名称.......卡塔尔(قطر‎;三个表能够有四个目录;

2,删除索引;

alter table student drop index 索引名称;

3,特点;数据的改革和目录的换代是同台的

何足为奇索引能够加到多列上

4,索引的弱项;

多少与索引的换代是同步的,即使全勤数码都有目录就能下跌效用;

目录是以文件格局存在的,索引过多文本会超大;

2,数据库的数据完整性;

保障每行所表示的实体能相互不一样,不能够存两条风度翩翩抹一样的

1,主键约束(primary key卡塔尔国非空不可能重复;二个表只好有多个主键一个主键可以有八个列

2,唯生龙活虎限制(unique)内定的列非空的不可能重复

3,非空约束(not null)钦赐的列无法为空;

4,钦命数量(default)钦命的数据足以订正;

5,钦定有效数据(check(第叁个数据 or 首个数据格式(健名=值)卡塔尔(قطر‎)

不是率先个数据必得是第三个数据,无法有第多少个数据现身

(在mysql中没用,扶持创制但未有效果与利益)

6,auto_increment;主键自拉长;

3,外键

1,创制三个表,在表中外键字段与上三个涉嫌表绑定

class_id int,

CONSTRAINT 外键名 FOREIGN key(要把外键给这几个字段的字段名卡塔尔(قطر‎

REFERENCES 关系表的表民(主键)

CONSTRAINT FK_student_classId FOREIGN key(class_id)

REFERENCES classes(class_id)

2,怎么给已存在的表增加外键节制

1,增加要连的键

alter table 表名 add 字段 类型

上一篇:没有了 下一篇:SQLite数据库中的存储类型汇总

Copyright © 2015-2019 http://www.carrefourstation.com. 澳门新莆京手机网站-新蒲京娱乐场有限公司 版权所有