mysql基本sql语句总结(二)
DAY 2,设置数据库,数据表字段
- 15.创建数据库
- CREATE DATABASE xxxx
- 16.创建数据表
- CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
….
)
- CREATE TABLE 表名称
CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
补充:建好数据表后继续向数据表中添加字段语句
ALTER TABLE book ADD
(writer char(255),price INT(10)
)
- 17.SQL约束
- 我们将主要探讨以下几种约束:
- NOT NULL
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
- DEFAULT
- (1)SQL NOT NULL 约束
NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)
- (2)SQL UNIQUE 约束
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P) 一条 //CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)多条
)
SQL UNIQUE Constraint on ALTER TABLE
当表已被创建时,如需在 "P_Id" 列创建 UNIQUE 约束,请使用下列 SQL:
ALTER TABLE Persons ADD UNIQUE (P_Id) 增加P_Id的unique
ALTER TABLE Persons DROP INDEX uc 删除uc的unique
- (3)SQL PRIMARY KEY 约束
- 主键必须包含唯一的值。
- 主键列不能包含 NULL 值。
- 每个表应该都一个主键,并且每个表只能有一个主键。
CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
)
ALTER TABLE Persons ADD PRIMARY KEY (Id_P) 添加ALTER TABLE Persons DROP PRIMARY KEY 删除
- (4)SQL FOREIGN KEY 约束
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (O_Id),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
- (5)SQL CHECK 约束
- CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
- CHECK 约束用于限制列中的值的范围。
ALTER TABLE Persons ADD CHECK (Id_P>0)ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
- (6)SQL DEFAULT 约束
- DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
ALTER TABLE Persons ALTER City SET DEFAULT 'SANDNES' 添加
ALTER TABLE Persons ALTER City DROP DEFAULT 删除
(7)CREATE INDEX 语句用于在表中创建索引
您可以在表中创建索引,以便更加快速高效地查询数据。
用户无法看到索引,它们只能被用来加速搜索/查询。
注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。
因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
SQL CREATE INDEX 语法
CREATE INDEX index_name
ON table_name (column_name)
SQL CREATE UNIQUE INDEX 语法
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
例子:CREATE INDEX PersonIndex
ON Person (LastName, FirstName)
- (8)SQL DROP INDEX 语句
ALTER TABLE table_name DROP INDEX index_name
- (9)SQL DROP TABLE 语句
DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):
mysql基本sql语句总结(二)相关推荐
- mysql数据库语句分类_细数MySQL中SQL语句的分类
1:数据定义语言(DDL) 用于创建.修改.和删除数据库内的数据结构,如:1:创建和删除数据库(CREATE DATABASE || DROP DATABASE):2:创建.修改.重命名.删除表(C ...
- php面试专题---MySQL常用SQL语句优化
php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...
- MySQL 使用SQL语句实现 增删改查
MySQL 使用SQL语句实现 增删改查 环境准备:MySQL,navicat 一.增加数据 语法: INSERT INTO 表名(字段1,字段2,字段3...) VALUES(值1,值2,值3... ...
- MYSQL补充SQL语句
MYSQL补充SQL语句 一.order by按关键字排序 对指定单个或多个字段作为条件进行排序 现在我们有一张表,我们可以通过对id和age作为条件进行排序(注意:排序要从左到右进行运行) ...
- 【数据库】MySQL的sql语句详解
目录 MySQL之sql语句 一, INSERT语句 insert语句的使用: 1,给表中一次性插入一条记录 2,给表中一次性插入多条记录 二, REPLACE语句 REPLACE语句的使用 1,语法 ...
- MysQL高级SQL语句|进阶语句|select语句(一)【图文细解】
MysQL高级SQL语句 一.SQL语句的概述 SELECT DISTINCT WHERE AND.OR IN BETWEEN 通配符 LIKE ORDER BY GROUP BY HAVING 二. ...
- mysql执行sql语句按钮_mysql执行sql语句过程
开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...
- Sqlserver,Mysql基础SQL语句
Sqlserver,Mysql基础SQL语句 SqlServer 建表 修改字段默认值 修改表名 修改字段名 添加字段 例子 更改字段 删除字段 添加表注释 添加字段注释 数据排序 方法一 ROW_N ...
- Mysql常用sql语句(11)- between and 范围查询
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 between and可以判断值是否在指定范围内 ...
- MySQL高级SQL语句(终章)
目录 一:通配符 1.1查询名字是有开头的记录 1.2查询名字里是贝和摩中间有一个字符的记录 1.3查看贝后面3个字符的名字记录 1.4通配符%和_结合使用 二:子查询 2.1相同表查询 2.2不同表 ...
最新文章
- 新的一年,想发有关对话系统的paper?快关注时下最大热点:智能化与个性化...
- boost::contract模块实现customer and manager的测试程序
- Loadrunner 入门连载教程
- java 整型数组排序,java整型数组冒泡排序
- 团队项目计划BACKLOG
- 帆软地址栏传参,实例
- 花书+吴恩达深度学习(十六)序列模型之双向循环网络 BRNN 和深度循环网络 Deep RNN
- 苹果iOS开发深入浅出Cocoa之类与对象
- 百度智能云新型产品了解
- idea断点调试继续执行快捷键(keymap设置了eclipse)
- GF6 WFV卫星视角影响、与Sentinel2协同及精度分析
- 同样25岁,为什么有人事业有成,有人却一无所有?
- MFC 响应Delete按键按下的操作事件
- 谁动了你的 MSN?—— MSN 帐号被盗原因的分析和解决办法,鄙视msnlivesn.com
- 今日分享:自用的2款markdown在线编辑器推荐给你,快码住
- [CF1503E]2-Coloring
- win10系统AMD显卡OBS录屏黑屏解决方法
- 根据年份和月份来计算天数
- 离散数学-图论-欧拉图、哈密顿图、二部图、平面图(14)
- 使用 Flutter 开发 Google Translate 程序
热门文章
- gbk编码在线转换工具_珍藏的4个PDF格式转换网站「在线工具,无需下载,还免费哦。」...
- css margin padding 0,CSS 彻底理解margin与padding
- 函数的梯度方向和切线方向_梯度是函数变化最快的方向
- python max((1、2、3)*2)_【Python】python基础2(2)
- python生成10个随机数字符串_python生成随机数、随机字符串
- 双向板受力特点_弹性减震球形钢支座/双向弹簧铰支座特性
- 352计算机调剂,今年考研金融专业352分能调剂吗?有机会调剂到哪些学校?
- python起简易http server
- 小程序wx.getUserInfo获取用户信息方案介绍
- 【JZOJ4790】【NOIP2016提高A组模拟9.21】选数问题