>>创建用户
create user liu identified by ‘123’;
>>为用户授权
create user tmp_2@localhost IDENTIFIED by '123456';/*最好加上@localhost代表在这个电脑上,如果不加后面每次用到时都不要加上*/
create user tmp_3@localhost identified by '123456';
create user tmp_3 IDENTIFIED by '123456';
grant select on company.*
/*
table company.emp--表级权限
company.*--数据库级权限
*.*---------用户级别权限;
*/
to tmp_3@localhost;
grant insert(empno,ename)
/*插入的为表中的某个字段,字段级别权限*/
on table company.emp to tmp_3@localhost;
>>创建数据库
create database jxgl character set utf8;
>>使用新用户连接数据库
grant all privileges on 数据库名.* to 用户名;
>>建表(主键,默认)
default ‘’
primary key;
>>删除表
drop table 表名;
>>插入数据
insert into 表名
values(各个属性);
注意:有外键时要先添加外键
>>增加外键约束
alter table 表名
add foreign key(外键名)
references 表名(属性)
/*在创建表时设置约束*/
create table tmp(
name int primary key,/*设置主键约束*/
tea_no varchar(12) unique,/*设置唯一值约束*/
sex varchar(2) check (sex in('男','女')),/*设置检查约束*/
t_birth date not null,
CONSTRAINT fore_name foreign key (t_birth) references t_course(t_birth)/*设置外键约束*/
);
/*为已经创建好的的表,添加约束*/
alter table t_teacher
add constraint name_key FOREIGN key (tea_no)
REFERENCES t_teacher_course (tea_no);/*设置外键约束*/
add CONSTRAINT uniq_name UNIQUE (tea_no);/*设置唯一值*/
add CONSTRAINT pri_name primary key (tea_no);/*设置主键约束*/
/*删除约束*/
1.
alter table <表名>
Drop Constraint 约束名
2.
alter table t_teacher
drop primary key;/*删除主键*/
alter table t_teacher
drop index <唯一值约束名> ;/*删除为一只约束*/
alter table t_teacher
drop FOREIGN key <外键名>;
>>增加表数据
insert into 表名
values(记录);
>>增加表属性
alter table 表名 add 属性名 属性数据类型;
>>修改表属性
alter table 表名
modify 属性名 数据类型 是否为空值 默认值;
>>修改表数据(可以利用子查询更改地址)
alter table 表名
set 属性名=属性值;
或者:
Update <表名>
Set <属性名>=<属性值>
Where
>>删除表属性
alter table 表名 drop 属性名;
>>删除表数据
delete from 表名 where 条件;
>>删除表
Drop table <表名>
>>修改表属性
alter table modify 属性名;
>>查询
(1)查询去重复 distinct
(2)匹配模式
>>高级查询:
select 列名 as 列别名 form 表名 where 条件
in 用于查询记录集
属性 is
is null is not null 空值判断
属性 like
属性 between and
分组查询:(having 起到where的作用)
group by
having
逻辑判断:
< <= = != not and or
聚合函数:
count(*): 记录的个数
count(列名)对一列的名计算个数
max(列名)求最大值
min(列名)求最小值
sum(列名)求和
avg(列名)求平均值
>>排序
order by 用于排序(默认升序);
例如
order by deptno; 升序排序
order by deptno desc;降序排序
>>连接查询(相等连接,自身连接)
创建索引和视图
>>创建索引
create index 索引名 on 表名(属性名1,属性名2);
>>删除索引
drop index 索引名 on 表名;
>>查看索引
Show index from <表名>
>>创建视图
create view 视图名
as
select查询语句
>>查看视图
Select * from <视图名>
>> 创建存储过程
delimiter@@
create procedure 存储过程名(参数类型(in/out) 参数名 数据类型,)
begin
end@@
delimiter;
>>调用存储过程
call 存储过程名(参数);
select ;
储存过程相关知识点:
>>变量声明
delare 变量名 数据类型;
>>为变量赋值
set 变量名=变量值;
>>条件语句
形式1
if then
else
end if;
形式2
if then
else if then
else
end if;
>>循环语句
while 条件 do
end while;
>>触发器相关知识
触发器的定义:
create trigger 触发器名字
before | after
操作(delete update insert )
on 表名
如(before delete on emp)
For each row
触发体
begin
end
old.列名 new.列名 表示变化前的值和变化后的值
>>游标的相关知识:
1、游标的定义
declare cursor_name cursor for select_statement
2、打开游标
open cursor_name;
3、取游标中的数据
fetch cursor_name into var_name [, var_name]...
4、关闭游标
close cursor_name;
例如:
topS:
- 若要输出无重复的数据要加上+‘distinct’
例如:
Select distinct * from <表名>
- 函数的使用和方法