表操作
1以默认字符集建库
以默认格式的为例,指定字符集建库
system@ceshi 07:0205->create database wwn;Query OK, 1 row affected (0.00 sec)system@ceshi 07:0339->SHOW CREATE DATABASE wwn\G;*************************** 1. row *************************** Database: wwnCreate Database: CREATE DATABASE `wwn` /*!40100 DEFAULT CHARACTER SET latin1 */row in set (0.00 sec)
2 建立表
(1)建表的基本命令语法
Create table<表名>(
<字段名1><类型1>,
…………
<字段名n><类型n>
)
(2)建表的语句
下面为人工建表的写法,表名student
system@ceshi 07:3231->create table student( id int(4) not null, name char(20) not null, age tinyint(2) NOT NULL default '0', dept varchar(16) default NULL );Query OK, 0 rows affected (0.00 sec)
第二种MySQL生成的检表语句student表例子
Create Table: CREATE TABLE `student` ( `id` int(4) NOT NULL, `name` char(20) NOT NULL, `age` tinyint(2) NOT NULL DEFAULT '0', `dept` varchar(16) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1
(3)Student表的直观展示
(4)实战演示
执行student表建表语句
system@ceshi 07:5806->use wwnDatabase changedsystem@ceshi 09:5115->create table student( id int(4) not null, name char(20) not null, age tinyint(2) NOT NULL default '0', dept varchar(16) default NULL );
查看建表语句
system@ceshi 09:5115->show create table student\G*************************** 1. row *************************** Table: studentCreate Table: CREATE TABLE `student` ( `id` int(4) NOT NULL, `name` char(20) NOT NULL, `age` tinyint(2) NOT NULL DEFAULT '0', `dept` varchar(16) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)
需要注意的是mysql5.1和mysql5.5环境的默认建表语句中的引擎不同,如果希望控制表的引擎,就要在建表语句里显示指定的引擎。
Mysql5.1及以前默认的引擎为InnoDB,Mysql5.5.5以后默认引擎为InnoDB。查看表结构
system@ceshi 09:5934->desc student;+-------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id| int(4) | NO | | NULL| || name | char(20)| NO | | NULL| || age | tinyint(2) | NO | | 0 | || dept | varchar(16) | YES | | NULL| |+-------+-------------+------+-----+---------+-------+4 rows in set (0.00 sec)
3 Mysql表的字段类型
我们可以参考mysql参考手册学习
(1)数字类型
(1)日期和时间类型(DATE日期类型:支持范围是1000-01-01到9999-12-31。Mysql以YYYY-MM-DD格式来显示DATE值,但允许使用字符串或数字把值赋给DATE列)
(3)串类型
最重要的是下面三个类型
1.INT(M)型:正常大小整数类型。
2.CHAR(M)型:定长字符串类型,当存储时总是用空格填满右边的指定的长度。
3.VARCHAR型:变长字符串类型。
有关mysql字段类型详细内容,请参考mysql手册。
9.9.4 查看建表的结构
a. 查询表结构命令
Desc表名或者show columns from 表名,例如:
system@ceshi 12:1602->desc student;system@ceshi 12:1602->show columns from student;system@ceshi 12:1931->use wwnDatabase changedsystem@ceshi 12:1943->desc student;+-------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id| int(4) | NO | | NULL| || name | char(20)| NO | | NULL| || age | tinyint(2) | NO | | 0 | || dept | varchar(16) | YES | | NULL| |+-------+-------------+------+-----+---------+-------+system@ceshi 12:1945->show columns from student;+-------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id| int(4) | NO | | NULL| || name | char(20)| NO | | NULL| || age | tinyint(2) | NO | | 0 | || dept | varchar(16) | YES | | NULL| |4 rows in set (0.00 sec)
9.9.5 查询已经建表的语句
b.查已建表的语句(可以看索引及创建表的相关信息)
show create table student\Gsystem@ceshi 12:2308->show create table student\G*************************** 1. row *************************** Table: studentCreate Table: CREATE TABLE `student` ( `id` int(4) NOT NULL, `name` char(20) NOT NULL, `age` tinyint(2) NOT NULL DEFAULT '0', `dept` varchar(16) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)