建表之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
posted @ 2013-11-17 17:09  long896130895  阅读(335)  评论(0)    收藏  举报