建表之insert update delete 学习
lis建库
create database test ;
test 代表是库名
选择库
use test ;
use + 库名
建表
create table stu(
id int
insert 增数据
1 要往那张表添加 class
2要添加几行 (id, name ,gender,company,salary)
3分别要添加什么值(1,‘张三’,‘男’,‘百度’,8888)
insert into class
(id,name,gender,company,salary)
values
(1,‘张三’,‘男’,‘百度’,8888);
mysql> create table class( -> id int primary key auto_increment, -> name 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, -> food smallint not null default 0 -> )engine myisam charset utf8;
查看该表结构用 desc
查看表的全部结构 sdesc + 表名
mysql> desc class; +---------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | NO | | | | | gender | char(1) | NO | | | | | company | varchar(20) | NO | | | | | salary | decimal(6,2) | NO | | 0.00 | | | food | smallint(6) | NO | | 0 | | +---------+--------------+------+-----+---------+----------------+ 6 rows in set (0.01 sec)
往表格里面增加数据
用insert into 表名
如果名字出现乱码现象 set names gbk
mysql> set names gbk; Query OK, 0 rows affected (0.00 sec) mysql> insert into class -> (id,name,gender,company,salary,food) -> values -> (1,'张三','男','百度',8888,300); Query OK, 1 row affected (0.00 sec)
查询 表的数据 使用select * from 表名
mysql> select * from class; +----+------+--------+---------+---------+------+ | id | name | gender | company | salary | food | +----+------+--------+---------+---------+------+ | 1 | 张三 | 男 | 百度 | 8888.00 | 300 | +----+------+--------+---------+---------+------+
如果插入所有列,可以不声明。即如果不声明则理解为插入所有列如下
mysql> insert into class -> values -> (4,'赵七','男','金山',9988,600); Query OK, 1 row affected (0.00 sec) //显示的效果如下 mysql> select * from class; +----+------+--------+---------+---------+------+ | id | name | gender | company | salary | food | +----+------+--------+---------+---------+------+ | 1 | 张三 | 男 | 百度 | 8888.00 | 300 | | 2 | 李四 | 男 | | 8012.00 | 0 | | 3 | 王五 | 男 | 腾讯 | 9016.00 | 0 | | 4 | 赵七 | 男 | 金山 | 9988.00 | 600 | +----+------+--------+---------+---------+------+
如果想增加多行,用逗号隔开就可以的,如下:
mysql> insert into class -> (name,company,salary) -> values -> ('老大','百度',6320), -> ('老三','新浪',6300);
update 的使用
update的要素
1 改哪一张表
2改哪几列
3改哪个值
4改成什么值
5在哪一行上面生效
mysql> update class //指定哪一个表 -> set food=123 // 改成什么值,用 set -> where id<5; // where 指定在哪一行
其中where 后面跟条件句,只要where后面的条件为真,则执行语句,并不一定都是 where id =5 或者 where id=2 之类的
where name=’老大’ 这样的可以的
下面的 where 1 恒为真,所以可以取出来所有行
select * from class where 1
删除
删除只能删除一整行,不存在删除一行中的某个数据,哪就成了修改了
删除要素
删哪张表的数据: class
删哪几行 where
delete from class where salary>8100;
下面语句表中的所有数据全部删除,但是表还在
delete from class