MySQL学习笔记(三)【彩民之家高手论坛】

2019-10-11 12:04 来源:未知

. 修改自增长

查看自增长对应的变量;mysql> show variables like 'auto_increment%';

desc tab_int;

  1. 主键特点

:唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题。

进入数据库:use 数据库名;

    alter table my_auto_increment modify id int;

3.一张表最多只能有一个自增长

 

    )charset utf8;

接下来实验下主键冲突(重复)

 

      name varchar(10),

彩民之家高手论坛 1

字符类型:

       a)、任何一个字段做自增长前提:该字段必须是一个索引字段(key一栏有值)。

mysql> alter table my_pri3 add primary key(course); 方法2:添加主键

#演示enum,set的使用: create table enum_set(  id int auto_increment primary key,  sex enum('男','女'),  fav set('篮球','足球','中国足球','台球') );

     例子:创建一张my_primark_key2的表,为其添加number字段(int类型)和classname 字段(varchar类型),将这个2字段添加成复合主键。          

mysql> inster into my_auto(name) values('邓立军');

注意: 环境编码:  cmd客户端是固定的gbk编码  而php网页中,是该网页文件的编码(现在主流都是utf8)。 mysql> set names gbk;

        )charset utf8;

方案3:当表已经创建好之后,额外追加属性:可以通过修改表字段属性,也可直接追加

select * from tab_shuxing;

     语法:primary key(字段1,字段2......)

自增长特点:auto_increment

创建数据库:create database db1 charset utf8;

      num int unique key, #唯一键

1.3主键的分类

登录方式:mysql -hlocalhost -uroot -p -P端口号  -h服务器地址  -u登录名 退出:quit或exit

自增长的特点 :

彩民之家高手论坛 2

 enum类型   单选项字符串数据类型。他非常适合于存储表单界面中的“单选项值”   enum("选项1","选项2",...);   实际内部:这些选项值对应的是如下数字值  set类型   单选项字符串数据类型。他非常适合于存储表单界面中的“多选项值”   set("选项1","选项2",...);   对应的数字是1,2,4,8,16

          classname varchar(20) not null,

mysql> show create table my_auto;

 time类型:   时间

  1. 主键索引   primary key

插入记录:测试效果:自动使用自增长

使用视图:当做一个表用就可以了

自增长如果是涉及到字段改变,必须先删除自增长,后增加,一张表中只能有1个自增长。

自增长通常是和主键搭配使用

#实例 alter table tab_xuanxiang add column email varchar(50); alter table tab_xuanxiang add key (age); /*添加一个普通索引*/

设置为自增长的字段必须是一个索引,且必须是一个整型类型,一张表只能有一个字段被设为auto_increment !!!!

字符串类型:定长,变长,文本字符串(text和blob**),枚举和集合**

$result = mysql_query("select / delect /updata /insert / desc /show tables /drop....");

语法:alter table 表名字 modify 字段名 数据类型

主键对应的字段中的数据不允许重复,一旦重复数据操作失败(增和改)

#多选项 insert into enum_set(id,sex,fav) values(null,'男','篮球,足球,台球'); insert into enum_set(id,sex,fav) values(null,'女',11);

  show variables like '%auto_increment%';

mysql> alter table my_unique3 drop index number;

charset = 要使用的字符编码 engine = 存储引擎(表类型) auto_increment = 设定当前的自增长字段的初始值 comment = 该表的一些说明文字

  ① 在创建时在字段后面跟关键字unique/unique key

mysql> alter table my_auto auto_increment = 10; #向上修改

删除视图: drop view 【if exists】 视图名;

可以修改变量实现不同的效果。如果对整个数据库修改(而不是一张表),这种方式是修改时会话级(当前客户端,当此连接有效,关闭失效)。

mysql> create table my_auto(id int auto_increment comment '自增长',name varchar(10) not null) charset utf8;

#插如数据演示 insert into enum_set(id,sex,fav) values(null,'男','篮球'); insert into enum_set(id,sex,fav) values(null,1,1);

  create table my_tab4(

2.3唯一键的约束

 

③ 在已创建好的表中追加主键

彩民之家高手论坛 3

扩展php中操作mysql数据的几个函数: $n1 = mysql_num_rows($result); //获得该结果集的数据行数 $n2 = mysql_num_fields($result); //获得该结果集的数据列数 $name = mysql_field_name($result,$i); //获得该结果集的第i个字段的名字 i从0开始算起

 

一张表往往有很多字段需要具有唯一性,数据不能重复,但是一张表中只能有一个主键

 

    create table my_unique1(

彩民之家高手论坛 4

表选项列表

六、unique key 唯一键

mysql> create table my_pri2(number char(10) comment '学号:itcast 0000',course char(10) comment '课程代码:3901 0000',score tinyint unsigned default 60 comment '成绩',primary key(number,course)) charset utf8;

PHP使用MySQL函数: //sql_php

 

彩民之家高手论坛 5

字段类型

      name varchar(10)

2.2追加唯一键:

#演示索引创建语法: create table tab_suoyin(  id int auto_increment,  user_name varchar(20) ,  email varchar(50),  //age int, /*没有索引*/

一张表往往有很多字段需要具有唯一性,数据不能重复(但可以为null,不像主键),这个时候用唯一键(unique)就体现出其优势了,可以解决表中多个字段需要唯一性约束的问题。

) alter table [表名] modify 字段类型;

create table xuesheng(  stu_id int auto_increment primary key,  name varchar(10),  age tinyint,  banji_id int comment '班级id',  foreign key (banji_id) references banji(id) );

七、索引

1.7修改自增长

其他  binary 类型 定长二进制字符串  varbinary 类型 变长二进制字符串  blob 类型 二进制数据类型,但是用于存储“图片”

 所有系统的表现(如字符集、校对集)都是由系统的内部变量进行控制的。

sql操作中有多种方式可以给表增加主键:分为三种方法

显示字符编码:show charset; 显示排序规则:show collation; 显示一个数据库的创建语句:show create database 数据库名;

      num int,

mysql> unique key (number) charset utf8;

mysql_query("use 数据库名");     //选定要使用的数据库    // = mysql_select_db("数据库名");

主键约束: 主键对应的字段中的数据不允许重复,一旦重复,操作失败。

mysql> set auto_increment_increment = 5; #修改步长为5

$result = mysql_query("select * from tab_int2;"); fatch函数的三种形式 mysql_fetch_assoc($result);  array('id'=>1,'name'=>'user1','age'=>18); mysql_fetch_row($result);  array('1'=>1,'2'=>'user1','3'=>18); mysql_fetch_array($result);  array('id'=>1,'name'=>'user1','age'=>18,'id'=>1,'name'=>'user1','age'=>18);

  )charset utf8;

mysql> alter table my_unique3 add unique key(number);

 key(email),  unique key(user_name),/*这就是唯一索引*/  primary key(id)/*这就是主键索引*/ );

修改当前已存在自增长的值,修改只能比当前已有的自增长的最大值大,不能小(小则不生效)。

彩民之家高手论坛 6

主键约束:primary key(字段名);

    create table my_unique2(

mysql> insert into my_auto values(null,'陈少炼');

 

   alter table my_tab3 modify id int primary key; #第三种方式

1.9删除自增长

 text类型:     他成为“长文本”字符类型。通常,其中存储的数据不占表格中的数据限制。   其最长存储是65535字符。smalltext  longtext

    num int unsigned not null comment '描述信息'

彩民之家高手论坛 7

修改数据库: alter database 数据库名  charset  新的编码  collate  新的排序名;

  2. 唯一键索引  unique key

查看是否修改成功:mysql> show variables like 'auto_increment%';

 

  ① 在创建表时,在字段后面跟关键字primary key设置

增加主键:

 date类型:   日期

   id int auto_increment, #自增长,这里没有配个主键使用

字段属性:主键,唯一键和自增长。

create table tab_char_varchar(  postcode char(6), /*邮政编码*/  name varchar(10) /*姓名*/ );

 查看自增长对应的变量的语法:show variables like 'auto_increment%';

mysql> insert into my_pri1 values('刘辉','itcast0022'); #不可以,主键冲突

显示数据库: show databases;

      unique key(id, num) #唯一键,类似于主键,这种形式也称之为复合唯一键

主键:primary key,主要的键,一张表中只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复,这种称之为主键,一张表只能有最多一个主键

 

五、auto_increment -- 自动增长

彩民之家高手论坛 8

时间类型:  datetime类型:   时间日期

三、default
用来设置默认值。某一种数据会经常的出现某个具体值,可以在一开始指定好,在需要真实数据的时候,用户可以选择性地使用默认值。

mysql> insert into my_auto values(6,'何思华');

创建数据库: create database 数据库名 【charset  字符编码名称】 【collate 排序规则】

  索引的作用: 提高查询效率、约束数据的有效性

mysql> create table my_auto(id int primary key auto_increment comment '自增长',name varchar(10) not null) charset utf8;

从已有表复制表结构:create table 【if not exists】新表名 like 原表名;

      name varchar(10)

mysql> alter table my_auto modify id; #有主键的时候不要再加主键

大小写:  mysql  本身不区分大小写  根据系统是否区分大小写

  可以修改系统变量的值, 但是没什么意义

mysql> alter table my_pri3 modify course char(10) primary key comment '课程编号:3901 000'; #方法1:追加主键

insert into tab_xuanxiang(id,name,age) values(null,'nnn',18);

    str varchar(10) not null comment '描述信息',

彩民之家高手论坛 9

数据库技术: SQL,关系数据库标准

  1. 删除自增长

彩民之家高手论坛 10

#插入数据 insert into tab_shuxing (id ,user_name,password,age,email)values (1,'nunu1','123456',20,'nunu1@qq.com'); insert into tab_shuxing (id ,user_name,password,age,email)values (null,'nunu2',md5('123456'),null,'nunu2@qq.com'); insert into tab_shuxing (user_name,password,email)values ('nunu3',md5('654321'),'nunu3@qq.com');

    和主键一样,先删除后添加,因为唯一键可以有多个,所以不删除直接添加也可以!!!!!

彩民之家高手论坛 11

create table tab_xuanxiang(  id int auto_increment primary key,  name varchar(10),  age tinyint ) charset = gbk, engine = MyIsam, auto_increment = 1000, comment = '说明、、' ;

使用方法:

自增长是字段的属性:可以通过modify来进行修改(保证字段没有auto_increment即可

外键约束:foreign  key(字段名) references 其他表名;

从以上可知唯一键和主键都是索引!!!

自增长如果对应的字段输入了值,那么自增长失效;但是下一次还是能够正确的自增长(从最大值 1)

desc  显示表的结构

    alter table my_unique3 add unique key(字段列表);  #unique key 或 unique 都可以

mysql> create table my_auto(id varchar(1) primary key auto_increment comment '自增长',name varchar(10) not null) charset utf8;

 

  ③ 在表创建之后追加唯一键

再实际创建表的过程中,很少使用真是业务操作数据作为主键字段(业务主键,如学号,课程号)大部分的时候使用逻辑性的字段(字段没有业务含义,值没有含义),通常将这种字段主键称为逻辑主键

 

        create table if not exists my_primary_key2(

mysql> insert into my_pri1 values('古学星','itcast0001'),('蔡仁湾','itcast0002');

删除表: drop table [if exists] 表名;

删除自增增长:

彩民之家高手论坛 12

 year类型:   年份    timestamp:   时间戳类型:类似js中的GetTime(),或php中的Time(),他们都得到的是一个“整数数字”。 在应用中,时间日期类型,在我们自己给定的数据情况下,需要使用“单引号”引起来。

  1. 使用方式,在字段后面跟auto_increment关键字

mysql> create table my_pri1(name varchar(20) not null comment '姓名',number char(10) primary key comment '学号:itcast 0000,不能重复') charset utf8;

create table tab_temp1(id int,name varchar(10),age tinyint); insert into tab_temp1 values(1,'user1',18);

   id int primary key auto_increment, #配合主键使用,自增长

彩民之家高手论坛 13

外键: create table banji(  id int auto_increment primary key,  banjihao varchar(10) unique key comment '班级号',  banzhuren varchar(10) comment '班主任',  open_date date comment '开班日期' );

          number int not null,

所有系统的表现(如字符集,校对集)都是有系统内部的变量进行控制的

基础语法规定  注释: 1、#注释内容   2、-- 注释内容(--后有空格)   3、/*注释内容*/  语句行 :   默认情况下,以一个英文分号作为一条语句的结束1   mysql 可以人为设定语句结束符   delimiter 新的结束符

 insert into my_auto_increment values(10,'王五');

mysql> inster into my_auto(name) values(default,'张涛');

基本语法形式: create table 【if not exists】 表明(字段名【,索引或约束列表】) 【表选项列表】; create table 【if not exists】 表明(字段1,字段2,....字段名【,索引1,索引2,...】) 【表选项1,表选项2,...】;

 

可以修改变量实现不同的效果;修改是对整个数据库修改,而不是单张表(修改是会话级)

 

插入数据:插入数据只有两个字段(number,name)共同重复时才会插入失败,如果有1个字段重复,另一个字段不重复,那么会插入成功。

mysql> insert into my_unique1 values(null,'曽光'),('itcast0001','晁松'),(null,'李帅');

##插入数据 insert into tab_time(dt,d2,t2,y)  values('2016/4/1 15:50:00','2016/4/1','15:50:00','2017');

插入值:       

彩民之家高手论坛 14

 

  1. 增加主键方式,常用的有3种

alter table [表名] drop primary key;

约束:

 )charset utf8;

自增长如果是涉及到字段改变:必须先删除自增长,后增加(一张表只能有一个自增长)

主要有  varchar类型  理论值。65535;  char   定长字符串:   比如:手机号,中国邮政编码   不够会补齐。

空属性有2个值,mysql数据库默认字段都是为null的,但是在实际开发过程中,尽可能保证所有的数据都不应该为null,空数据没有意义,任何参与NULL运算的结果都是NULL。

--回顾

修改表: 添加字段:alter table 表名 add [column] 新字段名 字段类型 [字段属性列表] 修改字段(并可改名):alter table 表名 change [column] 旧字段名 新字段名 新字段类型 [新字段属性列表] 删除字段:alter table 表名 drop [column] 字段名 添加普通索引:alter table 表名 add key [索引名] (字段名1,....) 添加唯一索引(约束):alter table 表名 add unique key [索引名] (字段名1,....) 添加主键索引(约束):alter table 表名 add primary key [索引名] (字段名1,....) 修改表名:alter table 表名 rename [to] 新表名;

      id int,

Mysql记录长度:65535 个字节,varchar达不到理论长度,null 占用一个字节,text文本不占用记录长度(但是本身占用十个字节)

删除数据库:drop database 【if exists】数据库名; 其中:if exists是用于一种安全运行的考虑,如果数据库不存在不会报错。

  ② 在创建表时,在所有字段后使用primary key(字段列表)设置复合主键

--唯一键

检查约束:  create table tab1(   age tinyint,   check (age>=0 and age<100) /*这就是检查约束*/  );

示例:
添加一张my_auto_increment的表,为其添加id字段和name字段,其中id字段设置成主键和自增长。

alter table [表名] drop index [索引名]; #唯一键默认使用字段名做索引名字

 

    )charset utf8;

基本与主键差不多:三种方案

insert into tab_time(dt,d2,t2,y)  values(now(),now(),now(),now());

mysql列属性包括:NULL 、default、comment、primary key、unique key

彩民之家高手论坛 15

字段设定形式: 字段名 类型 【字段属性1 字段属性2 ....】

      primary key(id, number, ...) #第二种方式,这种方式是符合主键,比较特殊

方案1:再创建表的时候,字段之后直接跟unique / unique key

数据库的备份:mysqldump -h服务器名 -u登录名 -p数据库名 > 文件名 数据库的恢复:mysql -h服务器名 -u登录名 -p数据库名 < 文件名      // 没有登录数据库系统 备份:mysqldump -hlocalhost -uroot -p nunu > c:/nunu.sql

  1. 自动增长通常与主键搭配使用, 字段设置自动增长后,不给值,或给默认值或NULL的时候,会自动触发,如果给了值,则当前自增失效,从下一次开始以当前最大值开始自增。

字段类型(列类型):数值型,时间日期型和字符串类型

 

    str varchar(10) not null,

删除唯一键

命令行启动停止数据库:net start/stop mysql

    num int unsigned default 10;   #默认值为10

mysql> create table my_unique3(id int primary key auto_increment,number char(10) not null,name varchar(20) not null) charset utf8;

primary key:用于设定该字段为主键,此时该字段的值就可以“唯一确定”一行数据; unique key:设定该字段是“唯一的”,也就是不可重复的 not null: 用于设定该字段不能为空(null) 如果没有设定,则默认是可以为空的 default xx值:用于设定该字段的默认值。

例子:将my_auto_Increment表中 id字段的自增长去掉。

彩民之家高手论坛 16

################################################### #示例代码 create table tab_time(  dt datetime,  d2 date,  t2 time,  y year,  ts timestamp );

如果对应的自增长字段输入了值,那么自增长失效,但是下一次还是能够正确的自增长(从最大值 1)。

--更新唯一键和删除唯一键(唯一键可以有多个,可以不删除)

#演示字段属性的使用 create table tab_shuxing(  id int auto_increment primary key,  user_name varchar(20) not null unique key,  password varchar(48) not null,  age tinyint default 18,  email varchar(50) comment '电子邮箱' );

  alter table my_tab1 modify id int; #修改字段,使其没有auto_increment即可。

mysql> insert into my_pri2 values('itcast0001','39010001',100); #不可以,冲突

select * from tab_xiaoshu;

  create table my_tab(

1.5自增长的使用

创建视图: create view v1 as select id,age from tab_xuanxiang;

  1. 更新与删除唯一键

mysql> alter table my_pri3 drop primary key;

索引:  指定一个表的某个或某些字段作为“索引数据字段”  形式为: 索引类型(要建立索引的字段名)  索引类型有: key(字段名);  #普通索引    含义:就是一个索引,只能加快查找速度    unique key(字段名); #唯一索引    含义:可以设定其字段的值不能重复(唯一性)    primary key(字段名); #主键索引    含义:具有区分该表中的任何一行数据的作用     唯一性可以为空 而主键索引不能为空    fulltext (字段名); #全文索引    foreign key (字段名) references其他表中的字段名; #外键索引

  set auto_increment_increment = 值; #修改自增步长

彩民之家高手论坛 17

数据的打印: $result = mysql_query("select * from tab_int2;"); while ($res = mysql_fetch_array($result)) { }

  );

彩民之家高手论坛 18

$link=mysql_connect("数据库服务器地址","用户名","密码"); //连接数据库 mysql_query("set names 网页编码名");    //设定“连接编码”;    //也可以这样做,mysql_set_charset("网页文件编码名");

  alter table my_tab3 drop primary key;

1.6指定数据

唯一约束:unique  key(字段名);

  1. 增加唯一键:有3种方式

1.任何一个字段要做自增长必要前提是本身是一个索引(key 一栏有值)

自增长为什么从1开始?又为什么每次都是自增1呢?

2.自增长字段必须是数字,而且是整型,一张表最多只能有自增长

唯一键的本质与主键的性质差不多,唯一键默认的允许字段为空,而且可以多个字段为空(空字段不参与唯一性比较)!!!!

mysql> insert into my_unique1 values('itcast0001','周江');

    create table my_tab2(

mysql> insert into my_auto values(null,'刘阳');

mysql> show variables like '%auto_increment%';
-------------------------- -------
| Variable_name | Value |
-------------------------- -------
| auto_increment_increment | 1 | #步长
| auto_increment_offset | 1 | #起始值
-------------------------- -------

mysql> insert into my_auto values(null,'邓贤师');

    alter table my_unique drop index 索引名; #唯一键默认使用字段名作为索引名字

1.1主键约束

          primary key(number,classname) #符合主键

1.8修改自增长步长

      b)、自增长字段通常是整形。

mysql> create table my_unique1(number char(10) unique comment '学号:唯一,但是允许为空',name varchar(20) not null) charset utf8;

  3. 全文索引   textfull index

mysql> altar table [表名] add primary key(字段列表);

 

彩民之家高手论坛 19

   alter table my_tab3 add primary key(id, ...);

如何确定下次是什么自增长呢?可以通过表查看创建语句

  主键无法更新,若想更新主键,只能删除后重新添加!!!!

彩民之家高手论坛 20

复合主键:

1.4新增自增长

   语法: 字段名 数据类型 unique/unique key

没有办法更新主键,主键需先删除才能增加

. 查看系统自增长变量

1.1增加唯一键

  4. 普通索引   index

时间日期型:datetime,date,time,timestamp,year

 修改成一次自增为5。

优点非常直接,缺点是只能使用一个字段作为主键

 insert into my_auto_increment values(null,'赵六');

mysql> alter table my_auto modify id int primary key; #错误,主键理论是单独存在

  create table my_tab(

方案2:在创建表的时,在所有的字段之后,使用primary key(主键字段列表)来创建主键(如果有多个字段作为主键,可以是复合主键)

      c)、一个表中只能有1个自增长字段。

alter table [表名] drop unique key; #唯一键有多个

    )charset utf8;

向pri1表中插入数据

  ② 在创建时在所有字段后面增加 unique key(字段列表) ,复合唯一键MUL

--主键:唯一键和自增长。

特点:
1. 唯一键允许自动为NULL,且可以有多个。如果当前表中没有主键,并有唯一键设为NOT NULL时,会显示第一个NOT NULL的唯一键为PRI,但他本质是唯一键!!!
因此使用desc 表名 查看某字段显示为pri的字段不一定是主键,如果该字段是一个不为空的唯一键,也会显示为Pri,可通过show create table 查看真伪

1.2更新,删除主键

  create table if not exists my_auto_increment(

自动增长:当对应的字段不给值,或者说给默认值或者给null的时候,会自动的被系统触发,系统会从当前字段中已有的最大值再进行 1操作,得到一个新的再不同的字段

自增长是字段的一个属性,可以通过modify属性来修改(字段没有自增长)。

思考:为什么自增长是从1开始?为什么每次是自增长1?

  alter table my_tab4 auto_increment = 值; #如果改的值比当前最大值小,则修改无效

如果唯一键也不允许为空:那么主键约束的作用是一致的

   name varchar(10)

字段的属性

  insert into my_tab (str) values ('abc');   #num会自动设为10
  insert into my_tab values ('abc', default); #用默认值插入num字段

数值型:整型和小数型(浮点型和定点型)

  insert into my_auto_increment values(null,'张三'); #有效,给与空值null的形式,这种形式最为方便
  
insert into my_auto_increment(name) values('李四'); #有效,不给值的形式,如果不给值,表名后必须指定哪些字段要给值

插入数据

 

mysql> inster into my_auto(name) values(null,'龚森');

再次插入数据,自增长就会从12开始,而不是从21,注意insert和update操作后效果的不同:

方案3:在创建表之后增加唯一键:

 

修改表选项的值

  ① 唯一性,一张表只能有一个字段设为主键

修改当前自增长已经存在的值:修改只能比当前已有的自增长大,不能小(小会不生效) alter table [表名] auto_increment = 值;

  ② 主键不允许为NULL

彩民之家高手论坛 21

 set auto_increment_increment = 5; #表示一次自增5

方法2前提:表中字段对应的数据本身是独立的(不重复)

再次插入数据的时候,自增长就会从11开始:

mysql> create table my_student (id int primary key auto_increnment comment '逻辑主键:自增长',number char(10) not null comment '学号',name varchar(10) not null);

insert into my_auto_increment values(null,'甜七');

彩民之家高手论坛 22

      id int primary key, #第一种方式

方案2:在所有的字段之后增加 unique key(字段列表); #复合唯一键

  );

唯一键的本质和主键差不多:唯一键默认的允许字段为空,而且可以多个为空(空字段不参与唯一性比较)

   name varchar(10) not null

彩民之家高手论坛 23

      name varchar(10)

彩民之家高手论坛 24

四、primary key (主键)

mysql> alter table my_auto auto_increment = 4; #向下修改,不生效

      number int,

mysql> insert into my_pri2 values('itcast0001','39010001',90),('itcast0001','39010002',85),('itcast0002','39010001',92);

      id int,

mysql> create table my_pri3(course char(10) not null comment '课程编号:3901 000',name varchar(10) not null comment '课程名字'); #创建无主键新表

  1. 主键更新与删除

彩民之家高手论坛 25

 

mysql> create table my_unique2(number char(10) not null comment '学号:',name varchar(20) not null);

    create table my_tab(

彩民之家高手论坛 26

alter table my_tab4 auto_increment = 20; #仅修改单张表的起始值,下一次插入数据自增长从20开始

方案1:在创建表的时候,直接在字段之后,跟primary key 关键字(主键默认不允许为空)

     在创建表的时候,在所有的字段之后,使用primay key(主键字段列表)来创建主键(可以有多个字段作为主键)来创建复合主键。

当自动增长被给定的值为null 或者默认值的时候会触发自动增长。

    alter table my_unique3 modify 字段名 数据类型 unique; #修改已经存在的字段为唯一键

一、NULL
定义方式:NULL(默认)  NOT NULL

      id int unique, #唯一键

二、comment
列描述(comment),又可以称之为注释,实际没有什么含义,是专门用来描述字段的,会根据创建语句保存,用来给程序员(或者数据库管理员)来进行了解的。主要用于查看创建表的语法上进行查看,可用show create table tb_name;语句查看

 update my_auto_increment set id = 20 where name = '赵六'; #将姓名为赵六的id修改成20,仅仅是更新数据,因此下一次自增长值是12

    )charset utf8;

TAG标签: MySQL other
版权声明:本文由彩民之家高手论坛发布于彩民之家高手论坛,转载请注明出处:MySQL学习笔记(三)【彩民之家高手论坛】