创建数据库,选择数据库,删除数据库

分别为 create database databse—name,use database-name,drop database database—name (有区分的才会加类型。比如create 还可以建表)

建表

create table table-name(字段名1 类型 字段约束,.....)
字段约束(还有表级约束)
1 not null,null ,数据库默认是null(体现在 不添加字段约束,和只给部分字段赋值)
2 default + 默认值。 顾名思义
3 auto—increment 只适用于int型。如果没有赋值则默认前一位加一(主键)
4 索引:利用where ,group by 等语句来理解。当使用这些语句的时候我需要的是某 一部分。如果有索引那么我只需要找到其中一个就能找到那一堆从而提高效率;
创建索引: index 索引名(字段名)。索引名可省,可以创建多个索引,也可同时将几个字段创为。 一个索引(默认名是第一个字段名)。
create index 索引名 on 表名(字段名)。对于字符类型我们可以限制他的字符个数来创 建索引如 create index synopsis on book(synopsis(100))。
删除索引: drop index 索引名 on 表名。如果创建时没有设置索引名那索引名默认为第一个字段名
alter table 表名 add 索引 index (字段名);
Unique 索引 :字段值唯一(除了null)。索引的创建方法;
Fulltext 索引 : 全文搜索,返回匹配结果。match(字段名)against(‘字符串’);
布尔搜索:如match(字段名) against(‘+(表示有)字符串 -(表示无)字符串’ in boolen mode);
5 主键(unique和not null的结合) 可以设置几个主键,但不能同时重复
6 外建(innodb,必须自己创建主键):例如一个总部,其他的部门只能在总部中选择相同的值(参照完性)
foreign key(字段名)references 表名(字段名). 注意虽然有外建约束,但是也只是约束 子表,如果删除主表不会报错且会造成很大的错误
但是对于删除主表某一条数据对子表的影响在创建时有特定的语句:+on delete 关键字
关键字 1) cascade 删除有参照关系的所有记录
2) set null 修改参照关系记录。改为null
3 )restrict 拒绝删除,直到主表被手工删除(默认)
4 )no action 什么也不做
+ on update
关键字 1 )cascade 主表更新,子表对应字段更新
2)———
3)——
4 )——

表类型 : MYISAM :占用空间少,支持大于4G的文件
ISAM :小表
HEAP: 运行速度快 但生存周期在服务器打开的时候
BERKELEY:事务类型的表
INNODB:以上都有,而且支持行级锁定
其他:如限制表行数等等;

临时表:create temporary table 表名
操作:
1 复制表 create table 表名 select*from 表名;
2 复制部分表 create table 表名(字段 属性) select 字段名,字段名 from 表名;
3 更新记录 UPDATE state SET code=‘ar’ where name=‘asdf’;
4 删除记录 DELETE ROM categoties WHERE cname = ‘sad’;
5 删除外键 ALTER TABLE employees DROP FOREIGN KEY 0-18;
6 增加索引 ALTER TABLE employees ADD FULLTEXT INDEX (ID);
7 重新命名表 rename table 表名 to 新表名 或者 alter teble 表名 rename to 新表名

对字段(列)的操作:
8 修饰字段 alter table 表名 modify column 字段名 数据类型—;
9 修改字段 alter table 表名 change 字段名 新字段名 字段类型;
10 新增字段 alter table 表名 add column(可不加)字段名 字段类型 ;

对行操作
11 删除 delete from 表名 where ;
12 跟新数据 update 表名 set 字段 = 值 where 条件;