使用tee语句将输入的sql语句全部输出到一个文件,方便后面学习查看(我的是在linux平台,win平台下用win的盘符路径)
mysql> tee /root/shiyan6-5.sql
例:创建一个薪资登记表
------------------------------------
姓名 性别 公司 工资 饭补
------------------------------------
张一 男 百度 8883.23 430
------------------------------------
根据上面的格式创建一个表
mysql> use default ----进入default这个库
mysql> create table jack(
-> id int primary key auto_increment,
-> sname varchar(10) not null default '',
-> gender char(1) not null default '',
-> company varchar(20) not null default '',
-> salary decimal(6,2) not null default 0.00,
-> fanbu smallint not null default 0
-> )engine myisam charset utf8;
上面语句的解释为:
第一行:创建一个名为jack的表
第二行:字段名为id 类型为int 主键 默认值为auto_increment(自动编号)
第二行:字段名为sname 类型为变成字符串 not null defalult(默认值为空, ''为没有,空的意思)
第三行:字段名为gender 类型为定长字符串(后面的数字为最长多少位) 默认值为空
第四行:字段名为company 类型为变成字符串 默认值为空
第五行:字段名为salary 类型为小数值(6,2意思为0000.00) 默认值为 0.00
第六行:字段名为fanbu 类型为大整数值 默认值为空
第七行:表引擎 字符集为utf8
把表建好后,我们查看下表
mysql> desc jack;
给表插入数据
mysql> insert into jack values
-> (1,'张一','男','百度',8883.23,430);
注:使用values插入值是把所有字段都要输入数据,数字不需要用单引号隔开。
下面只给某些字段填写数据,如只给sname company fanbu这三个字段填写数据
mysql> insert into jack
-> (sname,company,fanbu)
-> values
-> ('李二','新浪',670);
select * from jack; ------查看表数据
+----+--------+--------+---------+---------+-------+
| id | sname | gender | company | salary | fanbu |
+----+--------+--------+---------+---------+-------+
| 1 | 张一 | 男 | 百度 | 8883.32 | 430 |
| 2 | 李二 | | 新浪 | 0.00 | 780 |
+----+--------+--------+---------+---------+-------+
没有定义的字段要么是空白,要么是事先设的默认值,id因为设置的默认值是自动编号,所以就算没有定义也会自动增加,
在增加数据时,列与值必须要对应,设了几个值就要写几个数据