1、数据库的添加、查看和删除
(1)数据库添加
CREATE DATABASE library;//library为添加的数据库名称
判断数据库中是否已经存在该数据库,若存在则不新建,否则新建。
CREATE DATABASE IF NOT EXISTS library;
(2)数据库查看
SHOW DATABASES;//查看所有数据库
SHOW DATABASES LIKE 'library';//查看library数据库
SHOW DATABASES LIKE '%test%';//查看名字中包含 test 的数据库
SHOW DATABASES LIKE 'db%';//查看名字以 db 开头的数据库
SHOW DATABASES LIKE '%db';//查看名字以 db 结尾的数据库
(3)数据库删除
DROP DATABASE library;//容易丢失数据库中的数据,尽量少删除
2、数据表的添加的删除
(1)数据表添加(创建数据表)
CREATE TABLE book(num int(10),author char(20));//book为表名,num和author为字段名,int(10)和char(20)为数据类型
数据表中的数据类型(字符串类型)
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535 字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 短文本字符串 |
BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
TEXT | 0-65 535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
(2)数据表删除
DROP TABLE book;
3、表中数据的增删改查
(1)增
INSERT INTO reader VALUES(20190101,'man');
INSERT INTO reader(num,author) VALUES(20190101,'man');
对一行数据中的单个字段(非全部字段)进行添加,需要将添加的字段名进行罗列:
INSERT INTO reader(num) VALUES(20190101);
(2)删
DELETE FROM book;//清空表
DELETE FROM book WHERE num = 1;//删除表中num为1的整条数据
(3)改
UPDATE book SET author='men' WHERE num = 1;//修改book表中,num 为 1 的数据中,字段为author的值
(4)查
SELECT * FROM book WHERE num = 1;//查询book表中num=1的所有字段的值
SELECT num,author FROM book WHERE num = 1;//查询book表中num=1的数据中的num,author两个字段的值
上述的增删改查全都在一个表中完成。那么我们想对两个表进行操作呢?(所谓的“内连接”)
(1)两个完全无关的表:当然,既然无关,分开处理也就罢了。
(2)两个有关系的表:book1(num,name,sex);book2(num,cardID,address); 这两个表中的信息根据num进行一一对应,例如book1中数据(1,孙,男);book2中数据(1,37***************0,山东)。他们两个表根据num=1进行关联。如何去随意查询两个表中的数据呢?
SELECT * FROM book1,book2 WHERE book1.num=book2.num and book1.name = '孙';//输出两个表中nume为孙的所有数据
//或
SELECT * FROM book1,book2 WHERE book1.num=book2.num and name = '孙';//因为name字段是两个表中唯一的字段,因此可以不用加表名
4、数据排序和分组
(1)排序
SELECT * FROM book1 ORDER BY num;//查询并按照num排序,查询的字段中必须包含num字段
(2)分组
SELECT * FROM book1 GROUP BY num;//查询并按照num分组,查询的字段中必须包含num字段