数据库
创建数据:
create database 数据库名
查看所有数据库:
show databases
查看当前面创建好的数据库不能查询之前创建的数据库:
show create database `create`
规避关键字可以用create(反引号):
删除数据库:
drop database 数据库名
dos命令下执行 启动数据库:
启动服务:
net start MySQL
启动数据库:
MySQL -u root -p
关闭数据库:exit quit
备份命令,在dos命令下执行:
mysqldump -u root -p -B hsp_db01 >d:\bak.sql
恢复命令,在dos命令下执行:
source d:\bak.sql
关闭数据库exit quit。
备份命令,在dos命令下执行:
mysqldump -u root -p -B hsp_db01 >d:\bak.sql
恢复命令,在dos命令下执行: source d:\bak.sql
创建数据库表。
注意事项字段后加数字。
create table 表名(
id int(10),
`name` varcher(10),
`password` varcher(10),
birthday date,
age int(10)
);
主键自增auto_increment自定义自增的属性每次加 1
字段不为空not null输入字段不为空若为空报错
MySQL常用数据类型:int varcher double date(日期) time(时间)。
修改表名:
rename table emp to ttt
(修改前的表名emp) (修改后的表名ttt)
添加列:
after /ˈæftər/ 在……之后。
default / dɪˈfɔːlt / 默认,系统设定值。
emp表名
alter table emp
add 要添加的列名 varchar(32) default ''
after 那个列名之后;
修改列名与属性属性:
alter table emp
change `job` jop varchar(32) default '';
(修改前的列名job) (修改后的列名jop)
emp表名
alter table emp
modify 列名 varchar(32)(修改属性)
删除列:
alter table 表名 drop 列名
查看表的结构:desc表名 ;可以查看表的列
数据库 C R U D
C(create)创建R(read)读U(update)修改D(delete)删除
insert
insert into 表名(所有的列名的字段必须一致) value (要插入的数据内容);
update
- update语法可以用新值来更新原有表中的各列值。
- set子句只是要修改那些列和要给与那些值。
- where子句指定应更新那些行。如没有where子句,则更新所有的行记录。
update 表名 set 列名=XXX
where 列名=列值
delete
- 如果不使用where字句,将删除表中所有数据。
- delete语句不能删除某一列的值。可以使用update设为null或者``。
- 使用delete语句仅删除记录,不删除表本身。如果要删除表 ,使用drop table 语句。drop table 表名。
delete from 表名
where 列名= XXX
select
-
distinct可选,指显示结果时,是否去掉重复数据。
-
运算符:
-
比较运算符:
- +-><=:加 减 大于 小于 等于。
- between ....and...:显示在某一区域的值。
- in(set):显示在in列表中的值。例:in(100,200)。
- like:模糊查询。例:like ' %%% '。
- is null :判断是否为空。
-
逻辑运算符:
- and:多个条件同时成立。
- or:多个条件任一成立。
- not:不成立。例:where not(列名不符合)。
去掉重复数据 select distinct 列名..from 表名; select * from 表名 where (列名+列名)><=数值 and 列名 > 列名 -- 列的比较 and `列名`like '韩%';-- 模糊查询 -- 1 select *from 表名 where 列名 > '60'and 列名 >'80'; select *from 表名 where 列名 between 60 and 80; -- 2 select *from 表名 where 列名 = 66 or 列名 = 85 or 列名 = 97; select *from 表名 where 列名 in ('66','85',97); -
-
使用order by子句排序查询结果:
- order by 指定排序列。排序的列既可以是表中的列,也可以是select语句后指定的脸。
- asc :升序(默认)desc :降序。
- order by 此句应位于select语句结尾。
select 列名,(列名+列名+列名)as sum from 表名 where 列名 like '李%' order by sum -
统计函数:
-
count:返回行的总数。
-
count(*)与count(列名)区别:
- count(*):返回的是条件的记录的行数。
- count(列名):统计满足条件的某列有多少个,但是会排除 为null的。
-
sum:返回满足where条件的行的和。
-
sum:仅对数值起作用,否则报错。
-
avg平均数。
-
max/min:函数返回满足where条件的一列的最大/最小值。
select count(*) from 表名 where (english+chinese+math) > 100 select count(*) from 表名 -- 返回值是表的所有行数 select count(列名) from 表名-- 返回值是表中有数据的所有行数 select SUM(列名),sum(列名) from 表名 select SUM(列名+列名)from student select avg(列名),AVG(列名)from 表名 select avg(列名+列名)from 表名 select max/min(列名),max/min(列名)from 表名 select max/min(列名+列名)from 表名- group by:子句队列进行分组。
- having:子句对分组后的结果进行过滤。
select avg(列名),max(列名) from 表名 group by 列名 having 列名加条件 只能用having不能用where否则报错-
字符串:
- charset(列名)返回字串字符集。
- concat(列名," ",列名)连接字串。
- ucase(列名)转换成大写。
- lcase(列名)转换成小写。
- lelt(列名,个数)列名显示几个。
- replace(列名,’ XXX‘,’XX ‘)更改列名。把XXX改成XX。
- substring(列名,XX,XXX)列的第XX个开始取到第XXX个字符。
SELECT CHARSET(列名)from 表名; select CONCAT(列名,' ',job)from 表名 select UCASE(列名) from 表名 select LCASE(列名) from 表名 select left(列名,X) from 表名 select replace(列名,X,XX) from 表名 select replace(列名,XX,XXX) from 表名-
数学相关函数:
- abs(sum)绝对值。
- ceiling()向上取整,得到比num2大的最小整数。
- floor()向上取整,得到比num2小的最大整数。
- format()保留小数位数。
- least()求最小值。
- mod()求余。
-