当前位置: 首页 > news >正文

衡水哪里做网站西安网站建设方案优化

衡水哪里做网站,西安网站建设方案优化,项城网站,舆情查询文章目录 数据类型索引的建立普通索引唯一索引使用ALTER 命令添加和删除索引使用ALTER 命令添加和删除主键显示索引信息 数据的约束非空约束:not null,值不能为null唯一约束:unique,值不能重复主键约束:primary key外键…

文章目录

  • 数据类型
  • 索引的建立
    • 普通索引
    • 唯一索引
    • 使用ALTER 命令添加和删除索引
    • 使用ALTER 命令添加和删除主键
    • 显示索引信息
  • 数据的约束
    • 非空约束:not null,值不能为null
    • 唯一约束:unique,值不能重复
    • 主键约束:primary key
    • 外键约束:foreign key

数据类型

  • 数值类型:INT、BIGINT、FLOAT、DOUBLE,DECIMAL等。

  • 字符串类型:CHAR、VARCHAR、TEXT等。

  • 日期和时间类型:DATE、DATETIME、TIMESTAMP等。

  • 二进制类型:BLOB、LONGBLOB、VARBINARY等。

  • 枚举类型:ENUM。

  • 集合类型:SET。

    • 数值类型
      在这里插入图片描述

    • 字符串类型

    • 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。
      字符串类型主要是varcharchar, UTF-8:一个汉字=3个字节 GBK:一个汉字=2个字节
      在这里插入图片描述

    • 日期和时间类型

    • 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR
      在这里插入图片描述

  • 示例

    CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,email VARCHAR(100) UNIQUE,password VARCHAR(100) NOT NULL,created_at DATETIME DEFAULT CURRENT_TIMESTAMP,updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,age INT CHECK(age >= 18),address TEXT,role ENUM('admin', 'user') DEFAULT 'user'
    );

这个语句将创建一个名为users的表,包含多个列和约束。其中id列是主键name列是非空字符串email列是唯一的password列是非空字符串created_at列是日期时间类型updated_at列是日期时间类型,但在更新时会自动更新,age列使用检查约束以确保其值大于等于18,address列是文本类型role列是枚举类型,且默认值为’user’。

索引的建立

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

普通索引

  • 创建索引
CREATE INDEX indexName ON table_name (column_name)
  • 修改表结构(添加索引)
ALTER table tableName ADD INDEX indexName(columnName)
  • 创建表的时候直接指定
CREATE TABLE mytable(  ID INT NOT NULL,   username VARCHAR(16) NOT NULL,  INDEX [indexName] (username(length))  );  
  • 删除索引的语法
DROP INDEX indexName ON mytable; 

唯一索引

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

  • 创建索引
CREATE UNIQUE INDEX indexName ON mytable(username(length)) 
  • 修改表结构
ALTER table mytable ADD UNIQUE [indexName] (username(length))
  • 创建表的时候直接指定
CREATE TABLE mytable(  ID INT NOT NULL,   username VARCHAR(16) NOT NULL,  UNIQUE [indexName] (username(length))  );  

使用ALTER 命令添加和删除索引

  • 有四种方式来添加数据表的索引

    • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):

      该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL

    • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):

      这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)

    • ALTER TABLE tbl_name ADD INDEX index_name (column_list):

      添加普通索引,索引值可出现多次

    • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):

      该语句指定了索引为 FULLTEXT ,用于全文索引

  • 以下实例为在表中添加索引。

ALTER TABLE testalter_tbl ADD INDEX (c);
  • 你还可以在 ALTER 命令中使用 DROP 子句来删除索引。尝试以下实例删除索引:
ALTER TABLE testalter_tbl DROP INDEX c;

使用ALTER 命令添加和删除主键

主键作用于列上(可以一个列或多个列联合主键),添加主键索引时,你需要确保该主键默认不为空(NOT NULL)。实例如下:

ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

你也可以使用 ALTER 命令删除主键:

ALTER TABLE testalter_tbl DROP PRIMARY KEY;

删除主键时只需指定PRIMARY KEY,但在删除索引时,你必须知道索引名。

显示索引信息

你可以使用 SHOW INDEX 命令来列出表中的相关的索引信息。可以通过添加 \G 来格式化输出信息。

  • 尝试以下实例:
SHOW INDEX FROM table_name;

数据的约束

概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。

  • 分类
    • 非空约束(NOT NULL):确保列中不包含空值。
    • 唯一约束(UNIQUE):保证列中的所有值都是唯一的,可以包含空值。
    • 主键约束(PRIMARY KEY):用于唯一标识表中的每一行数据,通常使用整数类型的列。
    • 外键约束(FOREIGN KEY):用于定义列与其他表的关系,保证引用完整性。

非空约束:not null,值不能为null

  • 1.创建表时添加约束

    CREATE TABLE stu(id INT,NAME VARCHAR(20) NOT NULL  -- name为非空
    );
    
  • 2.创建表完后,添加非空约束

    ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
    
  • 3.删除name的非空约束

    ALTER TABLE stu MODIFY NAME VARCHAR(25);
    

唯一约束:unique,值不能重复

  • 1.创建表时添加唯一约束

    CREATE TABLE stu(id INT,phone_num VARCHAR(20) UNIQUE  -- 添加了唯一的约束
    );
    

    注意mysql中,唯一约束限定的列的值可以有多个null

    MySQL默认也会对UNIQUE的列建立索引

  • 2.删除唯一约束

    alter table stu modify phone_num varchar(20);
    -- 若无法删除可先将索引删除
    ALTER TABLE stu DROP INDEX phone_num;
    
  • 3.在创建表后,添加唯一约束

    ALTER TABLE stu MODIFY phone_nume VARCHAR(20) UNIQUE;
    

主键约束:primary key

  • 1.注意:

    含义:非空且唯一

    主键就是表中记录的唯一标识

  • 2.在创建表时,添加主键约束

    CREATE TABLE stu (id INT PRIMARY KEY,  -- 给id添加主键约束NAME VARCHAR(20)
    );
    
  • 3.删除主键

    ALTER TABLE stu DROP PRIMARY KEY; -- 去除主键
    alter table stu modify id int; -- 移除not null的限约束
    
  • 4.创建完表后,添加主键

    ALTER TABLE stu MODIFY id INT PRIMARY KEY;  
    
  • 5.自动增长:

    • 1.概念:如果某一列时数值类型的,使用auto_increment可以来完成值的自动增长

    • 2.在创建表时,添加主键约束,并且完成主键自动增长

      CREATE TABLE stu(id INT PRIMARY KEY AUTO_INCREMENT,  -- 给id添加主键约束  并完成主键自动增长NAME VARCHAR(20)
      );
      
    • 3.删除自动增长

      ALTER TABLE stu MODIFY id INT;
      
    • 4.添加自动增长

      ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
      

外键约束:foreign key

  • 1.在创建表时,可以添加外键

    create table 表名(...外键列constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称) );
    
  • 2.删除外键

    ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
    
  • 3.创建表之后,添加外键

    ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键列名称) REFERENCES 主表名称(主表列名称) ;
    
  • 4.级联操作

    • 添加级联操作

      ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键列名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE;
      
    • 分类:

      级联更新:ON UPDATE CASCADE级联删除:ON DELETE CASCADE
      
http://www.dt0577.cn/news/41372.html

相关文章:

  • 张掖哪家公司做网站站长工具seo综合查询全面解析
  • 网站建设客户沟通模块公司产品推广方案
  • 东营推广营销公司seo研究院
  • 代码库网站北京网络营销公司
  • 公司网站建设原则企业做网上推广
  • 做网站要做哪些百度seo怎么做
  • 哈尔滨营销型网站建设公司阜平网站seo
  • 给国外网站做流量seo优化顾问服务阿亮
  • 新手做哪类网站百度竞价推广怎么收费
  • 集团培训网站建设深圳网络推广引流
  • 洛阳中企动力英语seo什么意思
  • 制作动态网站做的是asp格式_还是html格式公司网站建设代理
  • 新手学做网站难吗苏州百度推广服务中心
  • 网站开发服务合同属于什么合同aso优化什么意思是
  • 唐河微网站建设个人怎么做互联网推广平台
  • 学会网站建设方案东莞发布最新通告
  • 铜川网站建设哪家好最新军事新闻事件今天
  • 景县网址建站seo关键词推广多少钱
  • 东莞商城网站建设推广方案怎么写模板
  • 有谁帮做网站的360优化大师官方网站
  • 200m网站空间多少钱台州关键词优化推荐
  • 秦皇岛今日头条新闻seo排名优化哪家好
  • 美食网站建设方案网红推广团队去哪里找
  • wordpress 自动 发微博网站自然排名优化
  • b2b2c网站开发品牌整合推广
  • 苗木网站开发需求进入百度app
  • 广东省建设行业数据开放平台seo优化内容
  • 怎样靠做网站赚钱深圳网站建设微信开发
  • hqz行情站淘宝数据分析工具
  • 建设信用卡网站首页企业文化