1、创建数据库
create database mydb; create database if not exists mydb; create database if not exists mydb default character set utf8;
2、删除数据库
drop database mydb; drop database if exists mydb;
3、使用数据库
use mydb;
4、创建表
create table mytable(id int not null primary key, name varchar(20)); create table mytable(id int not null auto_increment primary key, name varchar(20)) auto_increment=1000; create table if not exists mytable(id int not null primary key, name varchar(20));
(2) 创建带外键的表。创建table1、table2,其中table2中的rootid指向table1的id,即table1的主键id为table2的外键rootid。其中的on delete cascade表示,如果外键对应的数据被删除了,那么就将所关联的数据也删除。
CREATE TABLE `table1` ( `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL, `data` VARCHAR(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ); CREATE TABLE `table2` ( `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL, `rootid` INT(11) UNSIGNED NOT NULL DEFAULT '0', `data` VARCHAR(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`), INDEX (`rootid`), FOREIGN KEY (`rootid`) REFERENCES `table1` (`id`) ON DELETE CASCADE );
向table1中插入数据:
---1,"data1"
---2,"data2"
---3,"data3"
向table2中插入数据:
---1,1,"test data1 for 1"
---2,1,"test data2 for 1"
---3,2,"test data1 for 2"
---4,2,"test data2 for 2"
---5,3,"test data1 for 3"
---6,3,"test data2 for 3"
然后删除table1中的第二项数据,那么table2中的第三四行数据也跟着被删除了。
5、修改表
alter table tabname ...
6、删除表
drop table if exists mytable;
7、插入数据
insert into mytable(id, name) values(10, 'tom'); insert into mytable(name) values('cat'); insert into mytable(name) values('mike'); insert into mytable(id, name) select 9, 'match' from dual where not exists (select * from mytable where id=9); insert into mytable(id, name) select v_id, v_name from suppliers where not exists (select * from mytable where mytable.id= suppliers.v_id);
注:第二三条语句适用于 id 自增长的场合,否则会报错。第四条语句插入一条数据,第五条语句插入多条信息(判断冗余)。
8、删除数据
delete from mytable where name='cat'; delete from mytable;
9、修改数据
update mytable set name='change' where id=1001;
10、查找数据
select * from mytable where name='mike';
11、查找 m-n 个, mysql 没有 top 的关键字,用 limit 来限定,从 0 开始。
select * from mytable where name='mike' order by `time` desc limit 0,10;
12、(求和、总数、平均、最大、最小)(排序)(内外连接)(包含)(存在)(分组)(等等。。。)
浙公网安备 33010602011771号