首页
学习
活动
专区
圈层
工具
发布

我的MYSQL学习心得(一) 简单语法

我的MYSQL学习心得(一) 简单语法 使用MYSQL有一段时间了,由于公司使用SQLSERVER和MYSQL,而且服务器数量和数据库数量都比较多 管理起来比较吃力,在学习MYSQL期间我一直跟SQLSERVER...SHOW TABLE STATUS LIKE 'person' 如果针对特定表,建议使用这一种方法 得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增...SQLSERVER里面,无论是唯一约束,check约束还是外键约束都可以使用下面的SQL语句来删除掉 ALTER TABLE 表名 DROP CONSTRAINT 约束名 但是MYSQL里面,如果是外键约束...,需要使用 DROP FOREIGN KEY,如果是主键约束需要使用DROP PRIMARY KEY,有点麻烦 --sqlserver ALTER TABLE dbo.emp2 DROP CONSTRAINT...; 无论innodb引擎还是MYISAM引擎的表中,只能有一个自增列,并且自增列一定是索引列,无论是二级索引还是主键索引 这里跟SQLSERVER是不一样,SQLSERVER允许一张表有多个自增列,并且不需要在自增列上创建索引

2.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用PHP脚本创建MySQL 数据表

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name...AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。 PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。...---- 通过命令提示符创建表 通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。...使用PHP脚本创建数据表 你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据表。 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。...,请使用这个) MYSQLI_STORE_RESULT(默认) 实例 以下实例使用了PHP脚本来创建数据表: 创建数据表 <?

    4.5K30

    mysql学习总结03 — 列属性(字段属性)

    table tbTest; 4 primary key 主键 4.1 创建主键 随表创建 mysql> -- 方法1,给字段增加 primary key 属性 mysql> create table...charset utf8; 表后增加 基本语法:alter table 表名> add primary key(); 4.2 查看主键 mysql> -- 方案1:查看表结构 mysql>...唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较) 5.1 创建唯一键 随表创建 mysql> -- 方法1,给字段增加 unique[ key] 属性 mysql> create...自动增长 通常自动增长用于逻辑主键,只适用于数值,sqlserver中使用identity(1,1) 6.1 自动增长原理 在系统中维护一组数据保存当前使用自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长...6.2 使用自动增长 mysql> create table tbTest2 ( id int primary key auto_increment, name

    3.2K30

    mysql学习总结03 — 列属性(字段属性)

    table tbTest; 4 primary key 主键 4.1 创建主键 随表创建 mysql> -- 方法1,给字段增加 primary key 属性 mysql> create table...charset utf8; 表后增加 基本语法:alter table 表名> add primary key(); 4.2 查看主键 mysql> -- 方案1:查看表结构 mysql...唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较) 5.1 创建唯一键 随表创建 mysql> -- 方法1,给字段增加 unique[ key] 属性 mysql> create...自动增长 通常自动增长用于逻辑主键,只适用于数值,sqlserver中使用identity(1,1) 6.1 自动增长原理 在系统中维护一组数据保存当前使用自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长...6.2 使用自动增长 mysql> create table tbTest2 ( id int primary key auto_increment, name

    2.4K30

    采集MySQL数据库表自增主键使用情况

    下面这个脚本是采集数据库自增主键水位的(遇到过业务主键设置过小,导致出问题的,因此我们必须将自增id的水位线监控起来) IP_ADDR=$(/sbin/ip a|egrep '10.[0|1].[1-9...]+.[1-9]+*' | awk '{print $2}'| cut -d '/' -f 1); mysql -uroot -p123456 2>/dev/null -e "set @ip='$IP_ADDR...SELECT  @ip AS IP_ADDR,   curdate() AS INSERT_DATE ,   table_schema,   table_name,   column_name,   AUTO_INCREMENT...      JOIN information_schema.columns c USING (table_schema,table_name)     WHERE       c.extra = 'auto_increment...')     AND       t.auto_increment IS NOT NULL ; " 关于MySQL的采集脚本, 在prometheus的mysql_exporter的源代码里面,有很多,

    3.2K20

    MySQL数据库学习初步

    不过相比较其他关系型数据库如Oracle、SQLServer,MySQL算是比较轻量级的数据库引擎了。  ...然后进行数据库和表的操作时,此时有两种方式,一种是通过SQL栏采用类似命令行的方式编写SQL脚本,另外一种是采用很简单的手动操作创建数据库和表,修改数据库表等方式。...,可以采用如下命令: USE elvis_store; (4)使用CREATE TABLE_NAME命令创建一个名为email_list的表,SQL脚本如下: CREATE TABLE IF NOT EXISTS...(7)删除、新建主键 假如我现在有这样一个需求,需要删除email_list表中的联合主键(first_name,last_name),需要添加一个id字段并且将其设置为主键,可以按照下面的SQL脚本操作...在修改email_list表结构的过程中,可以使用DESCRIBE命令随时查看email_list表的结构,看是不是按照自己的意图修改了,以便进行下一步操作。

    2.3K20

    一个小时学会MySQL数据库

    主键:唯一地标识表中的某一条记录,不能空,不能重复 4.2、登录数据库 ? *连接本地数据库时需要启动服务 ? 4.3、创建数据库 ? ? 4.4、创建表 ? ? 列的类型: ?...name 直接删除数据库,不提醒 – 2 CREATE TABLE --创建一个数据库表 2.1 PRIMARY KEY 约束(主键)区别解析: 2.1.1 创建primary key Mysql...CREATE UNIQUE INDEX index_name ON table_name (column_name) Mysql和SqlServer的创建索引都是一致的,但是在删除索引方面却有区别: SqlServer...mySql的主键自动增加是用auto_increment字段,sqlServer的自动增加则是identity字段....1、把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。

    4.9K20

    《MySQL核心知识》第7章:插入、更新、删除

    person表 CREATE TABLE person ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, NAME CHAR(40) NOT NULL DEFAULT...如果再执行一次就会出错 MySQL和SQLServer的区别: 区别一 当要导入的数据中有重复值的时候,MYSQL会有三种方案 方案一:使用 ignore 关键字 方案二:使用 replace into...在SQLSERVER这边,如果要忽略重复键,需要在建表的时候指定 WITH (IGNORE_DUP_KEY= ON) ON [PRIMARY] 这样在插入重复值的时候,SQLSERVER第一次会保留值...,第二次发现有重复值的时候,SQLSERVER就会忽略掉 区别二 插入自增列时的区别 SQLSERVER需要使用 SETIDENTITY_INSERT 表名 ON 才能把自增字段的值插入到表中,如果不加...DELETE FROM person WHERE id BETWEEN 14 AND 17 SELECT * FROM person 如果要删除表的所有记录可以使用下面的两种方法 ##方法一

    1.3K30

    MySQL表的完整性约束

    返回顶部 PRIMARY KEY 主键为了保证表中的每一条数据的该字段都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行数据。 主键可以包含一个字段或多个字段。...primary key create table department3( id int, name varchar(20), comment varchar(100), primary key(id); #创建主键并为其命名...#在创建完表后,修改自增字段的起始值 mysql> create table student( -> id int primary key auto_increment, -> name...ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 #也可以创建表时指定auto_increment的初始值,注意初始值的设置为表选项,应该放到括号外...default 'male' )auto_increment=3; #设置步长 sqlserver:自增步长 基于表级别 create table t1( id

    4.3K20

    软件测试|MySQL主键自增详解:实现高效标识与数据管理

    图片简介在MySQL数据库中,主键自增是一种常见的技术,用于自动为表中的主键字段生成唯一的递增值。本文将深入讨论MySQL主键自增的原理、用途、使用方法,以及在实践中的注意事项和最佳实践。...主键自增主键自增的原理主键自增是通过使用AUTO_INCREMENT属性来实现的。当在表中创建主键字段时,将其定义为AUTO_INCREMENT,这将告诉MySQL自动为该字段分配唯一的递增值。...每次向表中插入新记录时,MySQL会自动计算下一个可用的自增值,并将其赋给主键字段。通过给字段添加 AUTO_INCREMENT 属性来实现主键自增长。...创建使用主键自增的表在MySQL中,可以通过以下方式创建一个使用主键自增的表:CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY,...注意事项数据类型:通常使用整数类型(如INT、BIGINT等)来作为主键字段,以确保自增值的有效范围。

    1.3K20

    数据库圣经--简单使用索引

    七、使用索引 1、自动创建         当我们为⼀张表加主键约束(Primarykey),外键约束(ForeignKey),唯一约束(Unique)时, MySQL会为对应的的列自动创建⼀个索引...        如果表不指定任何约束时,MySQL会自动为每⼀列生成⼀个索引并用ROW_ID 进行标识 2、手动创建 2.1主键索引 #⽅式⼀,创建表时创建主键 create table t_test_pk...KEY; 特殊场景:主键列带自增(AUTO_INCREMENT) 若主键列有 auto_increment 属性,直接删除会报错,需先取消自增,再删主键: -- 步骤1:创建带自增主键的表 CREATE...使用索引查找一个范围内的值(如 BETWEEN, >, <)。 ref: 使用非唯一索引进行等值查找。可能返回多条匹配记录。...8.1不加条件,查询所有 8.2使用主键查询 8.3子查询中使用索引 8.4使用普通索引 8.5使用复合索引 这个是回表查询还是覆盖查询呢?

    43610

    再见MyBatis,这款ORM框架确实太优雅!!

    灵活: 支持多主键、多表查询、逻辑删除、乐观锁、数据脱敏、数据加密、多数据源、分库分表、字段权限、 字段加密、多租户、事务管理、SQL 审计... 等等等等。 这一切,免费且灵动。...数据库 hsql HSQL 数据库 sqlite SQLite 数据库 postgresql PostgreSQL 数据库 sqlserver2005 SQLServer2005 数据库 sqlserver...SQLServer 数据库 dm 达梦数据库 xugu 虚谷数据库 快速开始 第 1 步:创建数据库表 CREATE TABLEIFNOTEXISTS`tb_account` (     `id`        ...INTEGER PRIMARY KEY auto_increment,     `user_name`VARCHAR(),     `age`       INTEGER,     `birthday`... @Table("tb_account") 设置实体类与表名的映射关系 使用 @Id(keyType = KeyType.Auto) 标识主键为自增 Mapper 接口继承 BaseMapper 接口:

    87311

    超越 MyBatis-Plus?来领略一下 MyBatis-Flex 的优雅魅力!

    ✅ ❌ ❌ 多表查询:left join、inner join 等等 ✅ ❌ ✅ 多表查询:union,union all ✅ ❌ ✅ 单主键配置 ✅ ✅ ✅ 多种 id 生成策略 ✅ ✅ ✅ 支持多主键...数据库 hsql HSQL 数据库 sqlite SQLite 数据库 postgresql PostgreSQL 数据库 sqlserver2005 SQLServer2005 数据库 sqlserver...openGauss 数据库 TDengine TDengine 数据库 informix Informix 数据库 greenplum Greenplum 数据库 uxdb 优炫数据库 快速开始 第 1 步:创建数据库表...CREATE TABLE IF NOT EXISTS `tb_account` ( `id` INTEGER PRIMARY KEY auto_increment, `user_name...@Table("tb_account") 设置实体类与表名的映射关系 使用 @Id(keyType = KeyType.Auto) 标识主键为自增 Mapper 接口继承 BaseMapper 接口:

    1.9K30
    领券