数据库操作:
创建数据库: create database dbname = create database dbname character set utf8
查询数据库: show database /*查询所有数据库名字*/
show create database dbname /*查询某一数据库dbname的创建信息*/
删除数据库: drop database dbname
切换数据库: use dbname
查看正在使用的db: select database();
表结构操作:
创建表:create table table_name(
/* field1 type(len)bind */
sidex int, sname varchar(100)
)
show tables /*列出数据库中所有的表*/
desc table_name /*列出表结构*/
drop table table_name /*删除表*/
alter table table_name add var_desc varchar(100);/*在表中增加一个字段*/
alter table table_name modify var_desc varchar(20) not null;/*修改表中某字段的类型长度和约束(比如not null)*/
alter table table_name modify var_desc new_var_desc varchar(30);/*修改表中某字段*/
alter table table_name drop new_var_desc;/*删除表中某一字段*/
alter table_name character set gbk;/*修改表的编码格式为gbk*/
alter table table_name add primary key(sname,var_desc);/*将(一个或多个)字段追加为主键*/
alter table table_name drop primary key;/*删除表中的主键,以便更新或增加*/
rename table table_name to new_table_name /*更新表名*/
主键 primary key
create table my_student(
Id int primary key auto_increment comment '逻辑主键---自增长',/*自增长主键:key有值,整形,一张表最多一个,必须先删除后增加*/
number cahr(10) not null comment '学号',
name varchar(10) not null
)
外键 foreign key //外面的键(键不在自己表中): 如果一张表中有一个字段(非主键)指向另外一张表的主键,那么将该字段称之为外键.
一张表可以有多个外键;外键不可修改: 只能先删除后新增.
创建表的时候增加外键:
在所有的表字段之后,foreign key(外键字段) references 外部表(主键字段)
在新增表之后增加外键: 修改表结构:
Alter table 表名 add [constraint 外键名字] foreign key(外键字段) references 外部表(主键字段);
删除外键
Alter table 表名 drop foreign key 外键名; -- 一张表中可以有多个外键,但是名字不能相同
常用操作
SELECT * FROM runoob_tbl WHERE runoob_author LIKE '%COM';
SELECT * FROM runoob_tbl INTO OUTFILE '/tmp/runoob.txt';/*导出数据库*/
INSERT INTO table_name (field1, field2,...) VALUES (val1, val2,...);
UPDATE table_name SET field_exm='learning table' WHERE table_index=3;
DELETE FROM table_name WHERE table_index=3;
SELECT country FROM Websites UNION ALL SELECT country FROM apps ORDER BY country;/*UNION ALL表示可重复 UNION表示不可重复*/
SELECT country FROM Websites UNION ALL SELECT country FROM apps GROUP BY country;/*ORDER by制定排序,group by 指定分组*/
LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;/*导入数据*/