数据库是一种软件,我们所学习的都是通过客户端来操作数据库。
net start mysql 启动
net stop mysql 终止
show databass; 查询所有数据库
use databass: 使用某个数据库
show table: 查看某个表
在使用Navicat for MySQL时,点开查询,然后新建查询,进行建表(使用SQL语句进行建表操作)。当然也可以直接通过软件来建表。
运行单行语句时,可以通过将代码框黑,然后右键‘运行当前行代码’ 。
建表: CREATE TABLE 表名(字段和类型);
写入: INSERT INTO 表名 VALUES(数据);
查询: SELECT*FROM 表名;
删除表:DROP TABLE 表名;
删除某行:DELETE FROM 表名 WHERE 删除条件;
更改:UPDATE 表名 SET 列表名=更新值 WHERE 删除条件;
修改字段名:
SELET 字段名 别名 FROM 表名 WHERE 条件 (这个查询出来的是一个虚拟表格。只是给程序员看的,真实的表格没有任何变化)
distinct: 关键字 用来消除结果集中的重复信息。
SELECT DISTINCT 字段名 FROM 表名;(查询表中有多少种)
like模糊查询:
SELECT * FROM 表名 WHERE 字段名 LIKE ‘条件’;
条件:
%:表示0个或者多个字符
—:表示一个字符
例如: %1:最后一个字符是1的都可以查出
%1%:只要包含1就可以查出
_1:只有两位字符,且第二位是1
_1_:只有3位。且第二位是1
_1%:只要第二位是1,就可以查出
%1_:倒数第二位是1
asc(升序) 和 desc(降序) 默认是升序排列,且都只针对一个字段。
order by :将查询的数据进行排序
lower :把字段转换成小写
upper :转换成大写
concat :将,多个字段组合在一起成为一个新的字段
SELECT CONCAT(字段1,字段2,....) 新名字 FROM 表名;
length:查询字符串的长度。
SELECT LENGTH(字段名) FROM 表名;
substr:查询字段的多少位
SELECT SUBSTR(字段名 , 开始位 , 结束位) FROM 表名;
round:指定查询小数点后几位,可以指定负数为小数点前几位
SELECT ROUND(指定的数,小数点后几位) FROM 表名;
avg:查询字符段中的平均值
max:查询最大值
min:查询最小值
sum:查询和
count:查询个数
这里说一下子查询,用一个例子说明是这样的:
相信比较容易看懂,所谓的子查询就是将整个查询语句看成一个已经得到的数据,放在where后面进行逻辑操作。
之所以这里要用到子查询是因为,前面所讲的avg 、max、round等这些函数都是分部函数,它们不可以放在WHERE后面进行操作,
只可以在SELECT后面进行操作。
最后再说一下is null 和is not null:
这两个东西啊,所谓的null不是指的“ ”或者0,这些虽然没有内容,但是系统还是分配了空间的,只要占有空间就不能说是null,
null是指没有空间的代码,没有空间自然也就没有值了,这点概念一定要搞清楚。