建库:
create database databaseName;
查询已有数据库:
show databases;
打开数据库:
use databaseName;
删除数据库:
drop database databaseName;
新建表:
CREATE TABLE `test`.`CBTest` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
删除表:
drop table tableName;
插入数据:
insert into table_Name (column1,column2,...columnN)
values (value1,value2,...valueN)
复制表内容:
insert into foods (name,fat)
select food_name ,fat_grams from recipes
通过使用其他某个表(或一组表)中的数据填充新表以插入数据.
在这一行语法中不能包含order by修饰词,也不能从insert出现在其中的表中进行选择.
修改数据:
update tableName set column1=value1;
建存储过程:
不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`insertscore` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertscore`()
BEGIN
declare var int;
set var=1;
while var<=1000000 do
insert into testmysql values(var,'1',2);
set var=var+1;
end while;
END $$
DELIMITER ;
各种存储过程语句:
1.if-then -else语句
create procedure p12(in parameter int)
begin
declare var int;
set var=parameter+1;
if var=0 then
insert into t values(17);
end if;
if parameter=0 then
update t set s1=s1+1;
else
update t set s1=s1+2;
end if;
end;
2.case指令:如果需要进行更多条件真假的判断我们可以使用case语句
create procedure p13(in parameter int)
begin
declare var int;
set var=parameter+1;
case var
when 0 then insert into t values(17);
when 1 then insert into t values(18);
else insert into t values(19);
end case;
end;
3. repeat... end repeat;它在执行操作后检查结果,而while则是执行前进行检查
create procedure p15()
begin
declare v int;
set v=0;
repeat
insert into t values(v);
set v=v+1;
until v>=5
end repeat;
end;
4. loop...end loop; loop 循环不需要初始条件,这点和while 循环相似,同时和repeat
循环一样不需要结束条件, leave语句的意义是离开循环,
create procedure p16()
begin
declare v int;
set v=0;
LOOP_LABLE:loop
insert into t values(v);
set v=v+1;
if v >=5 then
leave LOOP_LABLE;
end if;
end loop;
end;
删除存储过程:
drop procedure sp_Name;
create database databaseName;
查询已有数据库:
show databases;
打开数据库:
use databaseName;
删除数据库:
drop database databaseName;
新建表:
CREATE TABLE `test`.`CBTest` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
删除表:
drop table tableName;
插入数据:
insert into table_Name (column1,column2,...columnN)
values (value1,value2,...valueN)
复制表内容:
insert into foods (name,fat)
select food_name ,fat_grams from recipes
通过使用其他某个表(或一组表)中的数据填充新表以插入数据.
在这一行语法中不能包含order by修饰词,也不能从insert出现在其中的表中进行选择.
修改数据:
update tableName set column1=value1;
建存储过程:
不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`insertscore` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertscore`()
BEGIN
declare var int;
set var=1;
while var<=1000000 do
insert into testmysql values(var,'1',2);
set var=var+1;
end while;
END $$
DELIMITER ;
各种存储过程语句:
1.if-then -else语句
create procedure p12(in parameter int)
begin
declare var int;
set var=parameter+1;
if var=0 then
insert into t values(17);
end if;
if parameter=0 then
update t set s1=s1+1;
else
update t set s1=s1+2;
end if;
end;
2.case指令:如果需要进行更多条件真假的判断我们可以使用case语句
create procedure p13(in parameter int)
begin
declare var int;
set var=parameter+1;
case var
when 0 then insert into t values(17);
when 1 then insert into t values(18);
else insert into t values(19);
end case;
end;
3. repeat... end repeat;它在执行操作后检查结果,而while则是执行前进行检查
create procedure p15()
begin
declare v int;
set v=0;
repeat
insert into t values(v);
set v=v+1;
until v>=5
end repeat;
end;
4. loop...end loop; loop 循环不需要初始条件,这点和while 循环相似,同时和repeat
循环一样不需要结束条件, leave语句的意义是离开循环,
create procedure p16()
begin
declare v int;
set v=0;
LOOP_LABLE:loop
insert into t values(v);
set v=v+1;
if v >=5 then
leave LOOP_LABLE;
end if;
end loop;
end;
删除存储过程:
drop procedure sp_Name;