mysql学习记录:库的增删改查,表的增删改查

来源:互联网 发布:恶魔猎手 名字 知乎 编辑:程序博客网 时间:2024/05/24 07:01

mysql:库的增删改查,表的增删改查,数据的增删改查

1.库的增删改查


1)创建库 test

create database test;

2)查看库 

查看所有数据库:show database;

3)使用库 test

use test;

结果:Database changed;

4)删除库 test

drop database test;

ps:mysql数据库大小写不区分


2.表的增删改查 t_user

1)创建并使用数据库,然后开始创建表

CREATE TABLE t_user(

name VARCHAR(20) NOT NULL COMMENT '名字',
sex INT NOT NULL COMMENT '性别,1代表男,2代表女'
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '用户表';

sex INT NOT NULL COMMENT '性别,1代表男,2代表女'

)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '用户表';


解释一下:我的表名字叫t_user 表的结构大概是这么样子的:

create table tablename(

字段名 字段数据类型

字段名 字段数据类型

...

)engine=InnoDB default charset=utf8 comment '描述'


engine 就是存储引擎,InnoDB支持事务,行级锁定,外键,分布式

charset 就是表输入字符类型 utf8支持中文西文字符,咱这是中国,为了在使用数据库过程中不出现乱码及不知名错误,设置为charset=utf8可以避免这些问题。


有人可能会问,我创建表时没有写什么engine、什么default charset也没发现有什么不对啊。这个你可以测试一下,这些在你创建表的时候,它给你默认加上了,我们显示的写出来就是为了方便其他人查看当然最终方便的是自己(如果,你的mysql默认配置不一样就可能在使用数据的时候会出现一些问题,配置文件在你mysql安装目录下my.ini文件可以查看和修改)。comment就是添加描述。


2)查看表的定义

如果我们需要查看表定义:describe t_user;[t_user就是表名]

如果我们需要查看表详细定义:show create table t_user;

| t_user | CREATE TABLE `t_user` (

  `name` varchar(20) NOT NULL COMMENT '名字',

  `sex` int(11) NOT NULL COMMENT '性别,1代表男,2代表女'

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'


3)删除表t_name1

drop table t_name1;

哈哈,不要说哪来的表t_name1;这个表示刚才我测试创建表只写字段不写其他的,然后查看表详细定义会出现什么内容而创建的。现在正好拿来删了。机智如我

看看删了没:describe t_name1;

结果:ERROR 1146 (42S02): Table 'sqltest.t_name1' doesn't exist

这里表不存在了,说明删除成功。看看错误编号是1146,不同的错误类型出现的编号不一样,一般语法错误是1064(42000)


4)修改表alter table

4.1)修改表名rename

alter table t_user rename t_student;

describe t_student;

可以看到表名已经修改成功


4.2)增加字段add

ALTER TABLE t_student ADD descri VARCHAR(300) AFTER sex;

查看表字段是否添加成功:

describe t_student;


4.3)删除字段drop

先添加一个字段:

ALTER TABLE t_student ADD eeee VARCHAR(300) AFTER sex;

ALTER TABLE t_student DROP eeee;

DESCRIBE t_student;


4.4)修改字段

修改字段数据类型modify:

ALTER TABLE t_student MODIFY sex CHAR(5);

DESCRIBE t_student;

修改字段的名字change:

ALTER TABLE t_student CHANGE descri evaluate VARCHAR(300);

DESCRIBE t_student;

change关键字也可以同时修改字段名字和数据类型:

alter table 表名 change 旧字段名 新字段名 新数据类型;


3.数据的增删改查

1)添加数据 insert into

INSERT INTO t_student VALUES('张三','男','很帅');

INSERT INTO t_student VALUES('王小丫','女','漂亮,知书达理');


2)查询数据 select

查询所有*:SELECT * FROM t_student;

条件查询:SELECT * FROM t_student WHERE NAME='张三';

也有根据你所需要的字段数据,条件查询:SELECT sex,evaluate FROM t_student WHERE NAME='王小丫';

结果:+------+-----------------------+

   | sex  | evaluate              |

  +------+-----------------------+

   | 女   | 漂亮,知书达理   |

  +------+-----------------------+

分页查询limit:

先弄点数据进去:


INSERT INTO t_student VALUES('张三1','男','很帅');

INSERT INTO t_student VALUES('王小丫1','女','漂亮,知书达理');

INSERT INTO t_student VALUES('张三2','男','很帅');

INSERT INTO t_student VALUES('王小丫2','女','漂亮,知书达理');

INSERT INTO t_student VALUES('张三3','男','很帅');

INSERT INTO t_student VALUES('王小丫3','女','漂亮,知书达理');


查询:SELECT * FROM t_student LIMIT 2,3;

结果:

name        sex     evaluate               

----------   ------  -----------------------

张三1         男       很帅                 

王小丫1     女       漂亮,知书达理  

张三2         男       很帅                

语法:select * from 表名 limit 起始下标,显示的数据条数

ps:起始下标与数组一样,都是以0开始。


3)修改数据update

UPDATE t_student SET evaluate='很帅,搞基' WHERE NAME='张三';


4)删除某条数据delete

DELETE FROM t_student WHERE NAME='王小丫3';


总结:库的增删改查,表的增删改查,数据的增删改查,都是记住那几个关键字,然后可以自己做测试,在将sql语句写进语法之前如果不能确定,可以自己先弄个表测试一下,不然代码写好了,一运行出现错误就不好了。如果有错漏之处,以及建议欢迎来信,留言

补:刚看阿里的开发公约发现,说明: MySQL在 Windows下不区分大小写,但在 Linux下默认是区分大小写。因此,数据库下默认是区分大小写。