DAY 2,设置数据库,数据表字段


  • 15.创建数据库

    • CREATE DATABASE xxxx
  • 16.创建数据表
    • CREATE TABLE 表名称
      (
      列名称1 数据类型,
      列名称2 数据类型,
      ….
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 约束,那么此约束会在特定的列中对值进行限制。
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语句总结(二)相关推荐

  1. mysql数据库语句分类_细数MySQL中SQL语句的分类

    1:数据定义语言(DDL) 用于创建.修改.和删除数据库内的数据结构,如:1:创建和删除数据库(CREATE DATABASE || DROP  DATABASE):2:创建.修改.重命名.删除表(C ...

  2. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  3. MySQL 使用SQL语句实现 增删改查

    MySQL 使用SQL语句实现 增删改查 环境准备:MySQL,navicat 一.增加数据 语法: INSERT INTO 表名(字段1,字段2,字段3...) VALUES(值1,值2,值3... ...

  4. MYSQL补充SQL语句

    MYSQL补充SQL语句 一.order by按关键字排序 ​ 对指定单个或多个字段作为条件进行排序 ​ 现在我们有一张表,我们可以通过对id和age作为条件进行排序(注意:排序要从左到右进行运行) ...

  5. 【数据库】MySQL的sql语句详解

    目录 MySQL之sql语句 一, INSERT语句 insert语句的使用: 1,给表中一次性插入一条记录 2,给表中一次性插入多条记录 二, REPLACE语句 REPLACE语句的使用 1,语法 ...

  6. MysQL高级SQL语句|进阶语句|select语句(一)【图文细解】

    MysQL高级SQL语句 一.SQL语句的概述 SELECT DISTINCT WHERE AND.OR IN BETWEEN 通配符 LIKE ORDER BY GROUP BY HAVING 二. ...

  7. mysql执行sql语句按钮_mysql执行sql语句过程

    开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...

  8. Sqlserver,Mysql基础SQL语句

    Sqlserver,Mysql基础SQL语句 SqlServer 建表 修改字段默认值 修改表名 修改字段名 添加字段 例子 更改字段 删除字段 添加表注释 添加字段注释 数据排序 方法一 ROW_N ...

  9. Mysql常用sql语句(11)- between and 范围查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 between and可以判断值是否在指定范围内 ...

  10. MySQL高级SQL语句(终章)

    目录 一:通配符 1.1查询名字是有开头的记录 1.2查询名字里是贝和摩中间有一个字符的记录 1.3查看贝后面3个字符的名字记录 1.4通配符%和_结合使用 二:子查询 2.1相同表查询 2.2不同表 ...

最新文章

  1. 新的一年,想发有关对话系统的paper?快关注时下最大热点:智能化与个性化...
  2. boost::contract模块实现customer and manager的测试程序
  3. Loadrunner 入门连载教程
  4. java 整型数组排序,java整型数组冒泡排序
  5. 团队项目计划BACKLOG
  6. 帆软地址栏传参,实例
  7. 花书+吴恩达深度学习(十六)序列模型之双向循环网络 BRNN 和深度循环网络 Deep RNN
  8. 苹果iOS开发深入浅出Cocoa之类与对象
  9. 百度智能云新型产品了解
  10. idea断点调试继续执行快捷键(keymap设置了eclipse)
  11. GF6 WFV卫星视角影响、与Sentinel2协同及精度分析
  12. 同样25岁,为什么有人事业有成,有人却一无所有?
  13. MFC 响应Delete按键按下的操作事件
  14. 谁动了你的 MSN?—— MSN 帐号被盗原因的分析和解决办法,鄙视msnlivesn.com
  15. 今日分享:自用的2款markdown在线编辑器推荐给你,快码住
  16. [CF1503E]2-Coloring
  17. win10系统AMD显卡OBS录屏黑屏解决方法
  18. 根据年份和月份来计算天数
  19. 离散数学-图论-欧拉图、哈密顿图、二部图、平面图(14)
  20. 使用 Flutter 开发 Google Translate 程序

热门文章

  1. gbk编码在线转换工具_珍藏的4个PDF格式转换网站「在线工具,无需下载,还免费哦。」...
  2. css margin padding 0,CSS 彻底理解margin与padding
  3. 函数的梯度方向和切线方向_梯度是函数变化最快的方向
  4. python max((1、2、3)*2)_【Python】python基础2(2)
  5. python生成10个随机数字符串_python生成随机数、随机字符串
  6. 双向板受力特点_弹性减震球形钢支座/双向弹簧铰支座特性
  7. 352计算机调剂,今年考研金融专业352分能调剂吗?有机会调剂到哪些学校?
  8. python起简易http server
  9. 小程序wx.getUserInfo获取用户信息方案介绍
  10. 【JZOJ4790】【NOIP2016提高A组模拟9.21】选数问题