MYSQL
Sql基础
Sql语句主要分为3个类别:DDL(数据定义语句):定义数据库对象(库、表、列等),create、drop、alter;DML语句:数据操纵语句,用于添加、删除、更新记录等,Insert、delete等。
DCL语句:数据控制语句,定义数据库对象的访问权限和安全级别,grant、revoke;
启动数据库
net start/stop mysql
-u表示用户名-p表示需要密码
创建用户
mysql -uroot -p
数据库语句以;结尾
创建数据库
create database test;
Show databases;
使用数据库
Use test;
显示数据库中的表
Show tables;
删除数据库
Drop databases test;
创建表
Create table tablename(column_name column_type constraints);变量名,类型,限制条件;
Create table b1(ename varchar(10),hiredate date,sal decimal(10,2));
数据类型:
数值类型 int float double decimal(m,d);
日期时间类型:data 1000-01-01
字符串类型:char 1字节varchar 4字节;char(n)n表示所有字符所占的存储空间,若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间,若输入的数据过长,将会截掉其超出的部分,以CHAR类型存储的每个字符和符号占一个字节的存储空间.
枚举类型和Set类型;
查看表的定义:
Desc b1;
删除表:
Drop b1;
修改表:
改变表列名占用的大小:Alter table b1 modify name varchar(20);
添加/删除列:Alter table b1 add/drop column age int(3);
改变列名:Alter table b1 change age age1 int(4);把名字改成age1
Alter table b1 add birth date after name;在name后添加类型为date的birth列;
Alter table b1 rename b2;
DML语句:
插入记录:Insert into b1(name,..) values (.,..);
更新记录:Update b1 set sal=4000 where name=’lisa’;
查看记录:Select * from b1;查看b1中的所有内容;
删除记录:Delete from b1 where name=’dony’;
查询
Select name,hiredate,sal from b1;
Select * from b1 where deptno=1;
排序Select * from b1 order by sal desc/asc;按sal降序/升序显示;默认升序;
聚合
select [field1,field2,..] fun_name from tablename [where where_contition] [group by field1,field2,..] [with rollup] [having where_contition]
fun_name常用的聚合函数 sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。
group by表示要进行分类聚合的字段;
having 关键字表示对分类后的结果在进行条件过滤;
select deotno(字段),count(1或表达式) from emp(表) group by deptno;
select deptno,count(1) from emp(表) group by deptno;
表连接
内连接select ename,deptname(字段) from emp,dept(表) where emp.deptno=dept.deptno;
外链接select ename,deptname from emp left/right join dept(表) on (条件);
记录联合
将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来;union(去重)和union all(不去重);