- 创建数据库create database 数据库名
character set utf8;
1. 建表命令;
CREATE TABLE 表名(
列名1 列名类型 [约束],
列名2 列名类型 [约束],
.....
列名N 类的类型 [约束]
)
特别注意:最后一行没有逗号
添加一列(本来我已经有4个字段,又想添加一个新的字段)
ALTER TABLE 表名 ADD 列名 数据类型;
查看表的字段信息
desc 表名
修改一个表的字段类型
ALTER TABLE 表名 MODIFY 字段名 数据类型;
删除一列
添加一列ALTER TABLE表名ADD 字段名 数据类型;
删除一列ALTER TABLE 表名 drop 字段名;
修改表名
RENAME TABLE 原始表名 TO 要修改的表名;
查看表的创建细节
SHOW CREATE TABLE 表名;
修改表的字符集gbk
ALTER TABLE 表名 character set gbk;
修改表的列名
ALTER TABLE students change name newname varchar(20);
删除表
DROP TABLE 表名;
查询表中的所有数据
SELECT * FROM 表名;
插入操作:
INSERT INTO 表名 ( 列名1,列名2 ) VALUES (列值1, 列值2...);
* 添加多条数据(批量插入):
VALUES后面以逗号隔开
INSERT INTO 表名(列名1,列名2....) VALUES(列值1,列值2),(列值1,列值2)....;
注意事项
*
列名与列值的类型,个数,顺序要一一对应.
*
值不要超出列定义的长度.
*
插入的日期和字符一样,都使用引号括起来.
更新操作
UPDATE 表名 SET 列名1=列值1, 列名2=列值2... WHERE 列名=值
删除操作
如果不加过滤条件就是删除所有数据DELETE FROM 表名 [WHERE 列名=值]
删除所有数据
TRUNCATE TABLE 表名;
DELETE 与 TRUNCATE的区别:DELETE可以删除指定数据也能删除所有数据 TRUNCATE只能删除所有数据
* DELETE删除表中的数据,表结构还在;删除后数据还可以找回
* TRUNCATE删除是把表直接DROP掉,然后再创建一个同样的新表.删除的数据不能找回.执行速度比DELETE快
虚拟结果集
即查询出来的结果,我们称之虚拟结果集,存放再内存里面,下次进来就没了
- 数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端.
结果集: - 通过查询语句查询出来的数据以表的形式展示,我们称这个表为虚拟结果集.存放再内存中
- 查询返回的结果集就是一张虚拟表
查询指定的列
SELECT 列名1,列名2 FROM 表名;
条件查询
- 条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用一些运算符以及关键字
- 条件查询运算符以及关键字
- BETWEEN...AND; 值在什么范围
- IN(set);
- IS NULL; (为空)
- IS NOT NULL; (不为空)
- AND; 与
- OR; 或
- NOT; 非
模糊查询
- 根据指定的关键字进行查询
- 使用LIKE关键字后跟通配符
- 通配符
- _:任意一个字母
*%:任意0~n个字母
使用正则表达式查询正则表达式是用某种模式去匹配一类字符串的一个方式。正则表达式的查询能力比通配符的查询能力更强大。 在MySQL中使用关键字REGEXP来匹配查询正则表达式
基本语法:
字段名 REGEXP '匹配方式'
- 创建表
CREATE TABLE students(
id INT,
name VARCHAR(20),
age INT,
address VARCHAR(10),
gender CHAR(5)
);
匹配以指定的字符开头和结束的字符
正则表达式中,^表示字符串的开始位置,$表示字符串的结束位置。
排序
- 关键字 ORDER BY
- 排序类型(默认是ASC))
- 升序ASC 从小到大
- 降序DESC 从大到小
聚合函数
- 对查询的结果进行统计计算
- 常用聚合函数
- COUNT():统计指定列不为NULL的记录行数;
- MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
- MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
- SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
- AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
网友评论