MySQL:创建、修改和删除表+++
- 格式:docx
- 大小:28.48 KB
- 文档页数:22
第3章添加、更新与删除数据学习目标◆学会为数据表的字段添加数据◆学会更新数据表中的数据◆学会删除数据表中的数据通过上一章的学习,相信大家对数据库和数据表的基本操作有了一定了解,但要想操作数据库中的数据,必须得通过MySQL提供的数据库操作语言实现,包括插入数据的INSERT语句,更新数据的UPDATE 语句以及删除数据的DELETE语句,本章将针对这些操作进行详细地讲解。
3.1添加数据要想操作数据表中的数据,首先得保证数据表中存在数据。
MySQL使用INSERT语句向数据表中添加数据,并且根据添加方式的不同分为三种,分别是为表的所有字段添加数据、为表的指定字段添加数据、同时添加多条记录。
本节将针对这三种添加数据的方式进行详细地讲解。
3.1.1为表中所有字段添加数据通常情况下,向数据表中添加的新记录应该包含表所有字段,即为该表中的所有字段添加数据,为表中所有字段添加数据的INSERT语句有两种,具体如下:1、I NSERT语句中指定所有字段名向表中添加新记录时,可以在INSERT语句中列出表的所有字段名,其语法格式如下所示:INSERT INTO 表名(字段名1,字段名2,……)VALUES(值1,值2,……);在上述语法格式中,“字段名1,字段名2,……”表示数据表中的字段名称,此处必须列出表所有字段的名称;“值1,值2,……”表示每个字段的值,每个值的顺序、类型必须与对应的字段相匹配。
【例3-1】向student表中添加一条新记录,记录中id字段的值为1,name字段的值为‘zhangsan’,grade字段的值为98.5。
在添加新记录之前需要先创建一个数据库chapter03,创建数据库的SQL语句如下所示:CREATE DATABASE chapter03;选择使用数据库chapter03,SQL语句如下:USE chapter03;在数据库中创建一个表student用于存储学生信息,创建student表的SQL语句如下所示:CREATE TABLE student(id INT(4),name VARCHAR(20) NOT NULL,grade FLOAT);使用INSERT语句向student表中插入一条数据,SQL语句如下所示:INSERT INTO student(id,name,grade)VALUES(1,'zhangsan',98.5);当上述SQL语句执行成功后,会在表student中添加一条数据。
mysql创建⼀个⽤户,指定⼀个数据库,表读写权限1.远程登录mysqlmysql -h ip -u root -p 密码2.创建⽤户格式:grant 权限 on 数据库.* to ⽤户名@登录主机 identified by “密码”;例1:增加⼀个test1⽤户,密码为123456,可以在任何主机上登录,并对所有数据库有查询,增加,修改和删除的功能。
需要在mysql的root⽤户下进⾏mysql>grant select,insert,update,delete on *.* to test1@”%” identified by “123456″;mysql>flush privileges;例2:增加⼀个test2⽤户,密码为123456,只能在192.168.2.12上登录,并对数据库student有查询,增加,修改和删除的功能。
需要在mysql的root⽤户下进⾏mysql>grant select,insert,update,delete on student.* to test2@192.168.2.12 identified by “123456″;mysql>flush privileges;例3:授权⽤户test3拥有数据库student的所有权限mysql>grant all privileges on student.* to test3@localhost identified by ’123456′;mysql>flush privileges;3.修改⽤户密码mysql>update er set password=password(’123456′) where User=’test1′ and Host=’localhost’;mysql>flush privileges;4.删除⽤户mysql>delete from user where user=’test2′ and host=’localhost’;mysql>flush privileges;5.删除数据库和删除表mysql>drop database 数据库名;mysql>drop table 表名;6.删除账户及权限drop user ⽤户名@’%’drop user ⽤户名@localhost**************************************************************************************grant 详细解析如下:**************************************************************************************MySQL 赋予⽤户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to ⽤户⼀、grant 普通数据⽤户,查询、插⼊、更新、删除数据库中所有表数据的权利。
【MySQL】DDL数据定义语⾔的基本⽤法create、drop和alter(增删改)DDL 的基础语法⽂章⽬录简单复习⼀波 SQL必知必会DDL 的英⽂全称是 Data Definition Language(数据定义语⾔),它定义了数据库的结构和数据表的结构。
在 DDL 中,我们常⽤的功能是增删改,分别对应的命令是 CREATE、DROP 和 ALTER。
对数据库进⾏定义建数据库的基本SQL语法格式为:CREATE DATABASE database_name;//创建⼀个名为 database_name 的数据库“database_name”为要创建的数据库的名称,该名称不能与已经存在的数据库重名。
mysql> CREATE DATABASE database_name;Query OK, 1 row affected (0.00 sec)mysql> CREATE DATABASE database_name;ERROR 1007 (HY000): Can't create database 'database_name'; database exists删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将⼀同被删除。
删除数据库的基本SQL语法格式为:DROP DATABASE database_name;//删除⼀个名为 database_name 的数据库“database_name”为要删除的数据库的名称。
若指定的数据库不存在,则删除出错。
mysql> DROP DATABASE database_name;Query OK, 0 rows affected (0.00 sec)mysql> DROP DATABASE database_name;ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist在这⾥插⼊图⽚描述mysql> CREATE DATABASE database_name;Query OK, 1 row affected (0.00 sec)mysql> CREATE DATABASE database_name;ERROR 1007 (HY000): Can't create database 'database_name'; database existsmysql> SHOW CREATE DATABASE database_name;+---------------+------------------------------------------------------------------------+| Database | Create Database |+---------------+------------------------------------------------------------------------+| database_name | CREATE DATABASE `database_name` /*!40100 DEFAULT CHARACTER SET utf8 */ |+---------------+------------------------------------------------------------------------+1 row in set (0.00 sec)mysql> DROP DATABASE database_name;Query OK, 0 rows affected (0.00 sec)mysql> SHOW CREATE DATABASE database_name;ERROR 1049 (42000): Unknown database 'database_name'CREATE DATABASE mysqlcrashcourse;// 创建⼀个名为 mysqlcrashcourse 的数据库DROP DATABASE mysqlcrashcourse;// 删除⼀个名为 mysqlcrashcourse 的数据库对数据表进⾏定义创建表结构的语法是这样的:CREATE TABLE table_name;创建⼀个名为 table_name的表⼀般要写⾄少写⼀⾏ A table must have at least 1 column,后⾯介绍如何创建表结构创建⼀个名为 table_name的表mysql> CREATE DATABASE database_name;Query OK, 1 row affected (0.00 sec)mysql> USE database_name;Database changedmysql> CREATE TABLE table_name;ERROR 1113 (42000): A table must have at least 1 columnmysql> CREATE TABLE table_name( name VARCHAR(50) NOT NULL);Query OK, 0 rows affected (0.01 sec)mysql> show tables;+-------------------------+| Tables_in_database_name |+-------------------------+| table_name |+-------------------------+1 row in set (0.00 sec)mysql> CREATE TABLE table_name( name VARCHAR(50) NOT NULL);ERROR 1050 (42S01): Table 'table_name' already existsmysql>删除表的基本SQL语法格式为:DROP TABLE table_name;DROP TABLE [IF EXISTS] table_name;DROP TABLE table_name;删除⼀个名为 table_name的表DROP TABLE IF EXISTS table_name;执⾏了这条语句如果存在table_name表就删除,不存在不会报错也是执⾏。
mysql数据库建表代码MySQL是一种开源的关系型数据库管理系统,它是最流行的数据库之一。
在MySQL中,建表是非常重要的一步,因为它决定了数据的存储方式和结构。
在本文中,我们将介绍如何使用MySQL建表。
我们需要创建一个数据库。
在MySQL中,可以使用以下命令创建一个名为“mydatabase”的数据库:CREATE DATABASE mydatabase;接下来,我们需要在该数据库中创建一个表。
表是由列和行组成的,每个列都有一个数据类型和一个名称。
在MySQL中,可以使用以下命令创建一个名为“mytable”的表:CREATE TABLE mytable (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,PRIMARY KEY (id));在上面的代码中,我们创建了一个包含三个列的表。
第一列是“id”,它是一个自增的整数,不允许为空。
第二列是“name”,它是一个最大长度为50的字符串,不允许为空。
第三列是“age”,它是一个整数,不允许为空。
最后,我们将“id”列设置为主键。
除了上面的基本数据类型外,MySQL还支持其他数据类型,如日期、时间、布尔值等。
在创建表时,可以根据需要选择适当的数据类型。
在创建表后,我们可以使用INSERT语句向表中添加数据。
例如,以下代码将向“mytable”表中添加一条记录:INSERT INTO mytable (name, age) VALUES ('John', 25);在上面的代码中,我们向“mytable”表中添加了一个名为“John”的人,他的年龄为25岁。
由于“id”列是自增的,因此不需要在INSERT语句中指定它的值。
我们可以使用SELECT语句从表中检索数据。
例如,以下代码将检索“mytable”表中所有人的姓名和年龄:SELECT name, age FROM mytable;在上面的代码中,我们使用SELECT语句选择了“name”和“age”列,并从“mytable”表中检索了所有记录。
修改和删除表里面的约束条件听好啦!一、修改表里面的约束条件1. 首先呢,你得知道你要修改的是啥约束。
是主键约束、外键约束,还是啥唯一性约束之类的。
比如说你想修改一个表名为“students”里面关于学号(student_id)字段的主键约束。
- 如果是在MySQL里,你得先看看这个约束是怎么定义的。
要是这个主键约束当初定义得有点简单,现在想加点东西,像让它自动增长之类的。
那你可能得用ALTER TABLE语句。
- 例如:原来创建表的时候是“CREATE TABLE students (student_id INT, name VARCHAR(50));”,现在想把student_id设为主键并且自动增长。
你就得这么写:“ALTER TABLE students MODIFY student_id INT AUTO_INCREMENT, ADD PRIMARY KEY (student_id);”。
这就像是给一个小盒子(student_id这个字段)加了个特殊功能(自动增长),还告诉大家这个小盒子很重要(设为主键)呢。
2. 如果是修改外键约束,那就更复杂一点啦。
假设我们有两张表,“classes”和“students”,“students”表有个字段“class_id”是指向“classes”表的主键“id”的外键。
- 要是想修改这个外键约束的一些属性,比如关联的动作(像ON DELETE CASCADE,就是当“classes”表中的记录被删除时,“students”表中相关的记录也跟着删除)。
你得先把原来的外键约束删掉(就像先把两根绳子之间不完美的连接解开),然后再重新创建一个符合新要求的外键约束(再用一根更好的绳子把它们重新连接起来,而且连接的方式更合理)。
- 在MySQL里大概是这样:先“ALTER TABLE students DROP FOREIGN KEY [外键约束名];”(这个外键约束名你可以通过查看表结构找到哦),然后再“ALTERTABLE students ADD CONSTRAINT new_fk_name FOREIGN KEY (class_id) REFERENCES classes (id) ON DELETE CASCADE;”。
MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解本篇文章是对MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。
言外之意,就是对数据进行修改。
在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。
言外之意,就是对数据进行修改。
在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。
在MySQL中又多了一个REPLACE 语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。
一、INSERT和REPLACEINSERT和REPLACE语句的功能都是向表中插入新的数据。
这两条语句的语法类似。
它们的主要区别是如何处理重复的数据。
1. INSERT的一般用法MySQL中的INSERT语句和标准的INSERT不太一样,在标准的SQL语句中,一次插入一条记录的INSERT语句只有一种形式。
INSERT INTO tablename(列名…) VALUES(列值);而在MySQL中还有另外一种形式。
INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;第一种方法将列名和列值分开了,在使用时,列名必须和列值的数一致。
如下面的语句向users表中插入了一条记录:INSERT INTO users(id, name, age) VALUES(123, '姚明', 25);第二种方法允许列名和列值成对出现和使用,如下面的语句将产生中样的效果。
mysql索引-创建索引、修改索引、删除索引的命令语句查看表中已经存在 index:show index from table_name;创建和删除索引索引的创建可以在CREATE TABLE语句中进⾏,也可以单独⽤CREATE INDEX或ALTER TABLE来给表增加索引。
删除索引可以利⽤ALTER TABLE或DROP INDEX语句来实现。
(1)使⽤ALTER TABLE语句创建索引。
语法如下:alter table table_name add index index_name (column_list) ;alter table table_name add unique (column_list) ;alter table table_name add primary key (column_list) ;其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进⾏索引,多列时各列之间⽤逗号分隔。
索引名index_name可选,缺省时,MySQL将根据第⼀个索引列赋⼀个名称。
另外,ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。
创建索引的⽰例如下:mysql> use tpscDatabase changedmysql> alter table tpsc add index shili (tpmc ) ;Query OK, 2 rows affected (0.08 sec)Records: 2 Duplicates: 0 Warnings: 0(2)使⽤CREATE INDEX语句对表增加索引。
能够增加普通索引和UNIQUE索引两种。
其格式如下:create index index_name on table_name (column_list) ;create unique index index_name on table_name (column_list) ;说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。
mysql数据库的增删查改实操题MySQL数据库是一种常用的关系型数据库管理系统,具有增删查改(CRUD)的基本操作。
本文将通过实操题的形式,介绍MySQL数据库的增删查改操作。
一、增加数据(Create)在MySQL中,可以使用INSERT INTO语句来向表中添加新的数据。
语法格式如下:INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);例如,我们有一个名为"students"的表,包含"姓名"、"年龄"和"性别"三个列。
现在要向该表中添加一条新的学生记录,可以使用以下语句:INSERT INTO students (姓名, 年龄, 性别) VALUES ('张三', 18, '男');二、删除数据(Delete)在MySQL中,可以使用DELETE FROM语句来删除表中的数据。
语法格式如下:DELETE FROM 表名 WHERE 条件;例如,我们需要删除"students"表中姓名为"张三"的学生记录,可以使用以下语句:DELETE FROM students WHERE 姓名 = '张三';三、查询数据(Retrieve)在MySQL中,可以使用SELECT语句来查询表中的数据。
语法格式如下:SELECT 列1, 列2, 列3, ... FROM 表名 WHERE 条件;例如,我们需要查询"students"表中年龄小于20岁的学生记录的姓名和性别,可以使用以下语句:SELECT 姓名, 性别 FROM students WHERE 年龄 < 20;四、修改数据(Update)在MySQL中,可以使用UPDATE语句来修改表中的数据。
使用MySQL进行数据更新和删除的命令在数据库管理系统中,对数据的更新和删除操作是非常常见且重要的。
作为一种常用的关系型数据库管理系统,MySQL提供了丰富而强大的命令用于更新和删除数据。
本文将介绍MySQL中常用的数据更新和删除命令,并结合实际案例深入探讨它们的使用。
一、数据更新命令1. UPDATE命令UPDATE命令用于更新数据库中的数据。
其基本语法如下:```UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;```其中,table_name是要更新的表名,column1、column2等是要更新的列名,value1、value2等是要更新的值。
WHERE子句是一个条件,用于指定更新的数据的范围。
例如,我们有一个名为"customers"的表,其中包含了客户的信息,包括"customer_id"、"customer_name"和"customer_age"等列。
现在我们想将ID为1的客户的名称修改为"John Smith",年龄修改为30,可以使用如下命令:```UPDATE customers SET customer_name = 'John Smith', customer_age = 30 WHERE customer_id = 1;```这条命令将更新表"customers"中ID为1的客户的名称为"John Smith",年龄为30。
2. INSERT INTO ... ON DUPLICATE KEY UPDATE命令INSERT INTO ... ON DUPLICATE KEY UPDATE命令用于插入新数据或更新已存在的数据。
MySQL修改数据表(ALTERTABLE语句)为实现数据库中表规范化设计的⽬的,有时候需要对之前已经创建的表进⾏结构修改或者调整。
在 MySQL 中可以使⽤ ALTER TABLE 语句来改变原有表的结构,例如增加或删减列、创建或取消索引、更改原有列类型、重新命名列或表等。
基本语法修改表指的是修改数据库中已经存在的数据表的结构。
MySQL 使⽤ ALTER TABLE 语句修改表。
常⽤的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
常⽤的语法格式如下:ALTER TABLE <表名> [修改选项]修改选项的语法格式如下:{ ADD COLUMN <列名> <类型>| CHANGE COLUMN <旧列名> <新列名> <新列类型>| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }| MODIFY COLUMN <列名> <类型>| DROP COLUMN <列名>| RENAME TO <新表名> }添加字段随着业务的变化,可能需要在已经存在的表中添加新的字段,⼀个完整的字段包括字段名、数据类型、完整性约束。
添加字段的语法格式如下:ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];新字段名为需要添加的字段的名称;FIRST 为可选参数,其作⽤是将新添加的字段设置为表的第⼀个字段;AFTER 为可选参数,其作⽤是将新添加的字段添加到指定的已存在的字段名的后⾯。
【实例 1】使⽤ ALTER TABLE 修改表 tb_emp1 的结构,在表的第⼀列添加⼀个 int 类型的字段 col1,输⼊的 SQL 语句和运⾏结果如下所⽰。
MySQL:创建、修改和删除表其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语句,但是不是任何项目都要用到大框架的,如果不用,那你是不是就不会操作数据库了呢,所以我们最好还是熟悉一点好,对我们以后找工作和工作都有帮助。
在说创建、修改和删除表前,我们还是要进行一个操作的简单说明:1.登陆数据库系统在命令行中登陆MySQL数据库管理系统,输入一下内容:mysql -h localhost -u root -p很多人都知道这个,但是其中参数的具体表示什么我们还是要了解的,其中,“-h”参数指连接的主机名,所以后面是localhost;“-u”参数表示用户名,此处的用户名为root;“-p”参数表示用户的密码,按下Enter键后就显示“Enter password:”,输入密码即可登录进去了。
2.创建数据库在创建数据库之前,我们可以查看已经存在的数据库:mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || community || community_test || mydata || mysql || performance_schema || test |+--------------------+8 rows in set (0.04 sec)创建数据库的格式:CREATE DATABASE 数据库名; 示例:创建一个名为example的数据库mysql> CREATE DATABASE example;Query OK, 1 row affected (0.00 sec)mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || community || community_test || data || example || mysql || performance_schema || test |+--------------------+9 rows in set (0.00 sec)3.删除数据库:格式:DROP DATABASE 数据库名; 示例:删除example数据库mysql> DROP DATABASE example; Query OK, 0 rows affected (0.07 sec)mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || community || community_test || data || mydata || mysql || performance_schema || test |+--------------------+8 rows in set (0.00 sec)4.数据库存储引擎存储引擎就是指表的类型,数据库存储引擎决定了表在计算机的存储方式。
MySQL中查询存储引擎的类型命令:SHOW ENGINES;mysql> SHOW ENGINES;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine | Support | Comment| Transactions | XA | Savepoints |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| FEDERATED | NO | Federated MySQL storage engine| NULL | NULL | NULL || MRG_MYISAM | YES | Collection of identical MyISAM tables| NO | NO | NO || MyISAM | YES | MyISAM storage engine| NO | NO | NO || BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO || CSV | YES | CSV storage engine| NO | NO | NO || MEMORY | YES | Hash based, stored in memory, useful for tempor ary tables | NO | NO | NO || ARCHIVE | YES | Archive storage engine| NO | NO | NO || InnoDB | DEFAULT | Supports transactions, row-level locking, and f oreign keys | YES | YES | YES || PERFORMANCE_SCHEMA | YES | Performance Schema| NO | NO | NO |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+9 rows in set (0.00 sec)查询结果中,Engine参数指存储引擎名称;Support参数说明MySQL是否支持该类型引擎;Comment参数表示对该引擎的评论;Transaction参数表示是否支持事务处理;XA 参数表示是否分布式交易处理的XA规范;Savepoints参数表示是否支持保存点,以方便事务的回滚操作;由上面我们看到InnoDB存储引擎是default的,也就是数据库默认的存储引擎,下面我们简单介绍一下InnoDB。
InnoDB是MySQL的一种存储引擎,InnoDB给MySQL提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全。
InnoDB是MySQL上第一个提供外键约束的表引擎,而且对事务处理的能力,也是其他存储引擎不能比拟的。
不过这种引擎的缺点就是读写效率稍差,占用的数据空间相对比较大。
下面就是正式的内容:创建表:1)创建表的形式:CREATE TABLE 表名(属性名数据类型[完整约束条件],属性名数据类型[完整约束条件],......属性名数据类型[完整约束条件]);如果你很急的登陆进去就创建表,恭喜你,你会出现“No database selected”的错误,因为你没有告诉别人你要选择在哪个数据库创建表,所以在创建之前要选择数据库,格式:USE 数据库名;示例创建一个student表:mysql> use example;Database changedmysql> CREATE TABLE student (-> id int,-> name varchar(20)-> );Query OK, 0 rows affected (0.09 sec)上面创建表的时候涉及到一个完整性约束条件,下面就列出一个完整性约束条件表:下面讲解一下上面完整性约束条件的应用:2)设置表的主键单字段主键格式:属性名数据类型PRIMARY KEY示例:mysql> CREATE TABLE student1 (-> id int PRIMARY KEY,-> name varchar(20)-> );Query OK, 0 rows affected (0.06 sec)多字段主键格式:PRIMARY KEY(属性名1,属性名2....属性名n) 示例:mysql> CREATE TABLE student2 (-> id int,-> stu_id int,-> name varchar(20),-> PRIMARY KEY(id,stu_id)-> );Query OK, 0 rows affected (0.00 sec)3)设置表的外键格式:CONSTRAINT 外键别名FOREIGN KEY(属性1,属性2,....属性n) REFERENCES 表名(属性1',属性2',...属性n')示例:mysql> CREATE TABLE teacher (-> id int PRIMARY KEY,-> stu_id int,-> name varchar(20),-> CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)-> );Query OK, 0 rows affected (0.00 sec)4)设置表的非空约束简单的说就是不让这个属性的值为空,不填的话就会报错格式:属性名数据类型NOT NULL5)设置表的唯一性约束就是这个属性的值是不能重复的格式:属性名数据类型UNIQUE6)设置表的属性值自动增加AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT和BIGINT),在默认的情况下,该字段的值是从1开始自增格式:属性名数据类型AUTO_INCREMENT7)设置表的属性的默认值格式:属性名数据类型DEFAULT 默认值下面对4-7进行综合示例:mysql> CREATE TABLE student3 (-> id int PRIMARY KEY AUTO_INCREMENT,-> teacher_id int UNIQUE,-> name varchar(20) NOT NULL,-> sex varchar(10) DEFAULT 'male'-> );Query OK, 0 rows affected (0.01 sec)查看表结构查看表基本结构语句DESCRIBE格式:DESCRIBE 表名;通过查看表的结构,就很明确的对表进行解读,而且可以查看一下自己创建的表有没错误,这个SQL语句必须会用啊示例:mysql> desc student3;+------------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+------------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || teacher_id | int(11) | YES | UNI | NULL | || name | varchar(20) | NO | | NULL | || sex | varchar(10) | YES | | male | |+------------+-------------+------+-----+---------+----------------+4 rows in set (0.01 sec)查看表详细结构语句SHOW CREATE TABLE通过这个SQL语句可以查看表的详细定义,除了字段名、字段的数据类型、约束条件外,还可以查看表的默认存储引擎和字符编码格式:SHOW CREATE TABLE 表名;示例:mysql> SHOW CREATE TABLE student3;+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table | Create Table| +----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| student3 | CREATE TABLE `student3` (`id` int(11) NOT NULL AUTO_INCREMENT,`teacher_id` int(11) DEFAULT NULL,`name` varchar(20) NOT NULL,`sex` varchar(10) DEFAULT 'male',PRIMARY KEY (`id`),UNIQUE KEY `teacher_id` (`teacher_id`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312 | +----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)修改表:1)修改表名表名可以在一个数据库中唯一的确定一张表。