创建MySQL数据表需要以下信息:
表名表字段名定义每个表字段以下为创建MySQL数据表的SQL通用语法:
CREATE TABLE table_name (column_name column_type);实例:
以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;实例解析:
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。ENGINE 设置存储引擎,CHARSET 设置编码。匹配模式符:
1. “%” -----匹配一个或多个,任意长度字符串 2. “_” -----只能匹配一个字符 注意:匹配模式必须用单引号和双引号包裹 # 为一个叫mydb数据库再添加一张数据表new_goods CREATE TABLE new_goods ( id INT COMMENT '编号', name VARCHAR(32) COMMENT '商品名', price INT COMMENT '价格', description VARCHAR(255) COMMENT '商品描述' ); # ①查看所有数据表 SHOW TABLES; # ② 查看名称中含有new的数据表 SHOW TABLES LIKE '%new%';注意:\G 在MySQL中才有用哦
1.查看字段
语法1查看所有字段: DESC 数据表名; 语法2查看所选字段: DESC 数据表名 字段名; # ① 所有字段 DESC my_goods; # ② name字段 DESC my_goods name;2.查看表的创建语句
语法: SHOW CREATE TABLE 表名; # 查看my_goods数据表的创建语句 SHOW CREATE TABLE my_goods \G3.查看表的结构
语法1: SHOW [ FULL] COLUMNS FROM 数据表名 [FROM 数据库名]; 语法2: SHOW [ FULL] COLUMNS FROM 数据库名.数据表名; # 查看my_goods数据表结构的详细信息 SHOW FULL COLUMNS FROM my_goods;可选项FULL表示显示详细内容,添加后可以看到DESC语句所查看的也可以查看到字段权限、COMMENT字段的注释信息等。
通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。
实例 以下为创建数据表 runoob_tb1实例:
root@host# mysql -u root -p Enter password:******* mysql> use RUNOOB; Database changed mysql> CREATE TABLE runoob_tbl( runoob_id INT NOT NULL AUTO_INCREMENT, runoob_title VARCHAR(100) NOT NULL, runoob_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( runoob_id ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.16 sec) mysql>注意: MySQL命令终止符为分号 ; 。 注意: -> 是换行符标识,不要复制。
实例:
#1.创建mydb库 create database mydb; #2.选择数据库 use mydb; #3.创建goods数据表 create table goods( id int comment'编号', name varchar(32) comment '商品名', price int comment '价格', description varchar(255) comment '商品属性' );注意
使用数据表时可以用 use 库名 指定操作的数据库,否则抛出No database selected的错误(不是必须使用use 库名)当然也可以使用库名.表名的形式。 # 省略②,修改③创建goods数据表 CREATE TABLE mydb.goods ( id INT COMMENT '编号', name VARCHAR(32) COMMENT '商品名', price INT COMMENT '价格', description VARCHAR(255) COMMENT '商品描述' ); 为避免一库多用造成的数据表重复,给数据表添加一个前缀吧,例如goods------mydb_goods等删除数据表是非常容易操作的, 但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。
在mysql>命令提示窗口中删除数据表SQL语句为 DROP TABLE :
以下实例删除了数据表runoob_tbl:
mysql> use RUNOOB; Database changed mysql> DROP TABLE runoob_tbl Query OK, 0 rows affected (0.8 sec) mysql>