MySql基础

1.数据库操作

创建数据库:create database 数据库名;

查看数据库中的所有数据库:show databases

查看某个数据库的定义的信息:show create database 数据库名;

删除数据库:drop database 数据库名;

切换/使用数据库:use 数据库名

2.表操作

create table 表名(字段名 类型(长度) 【约束】,字段名 类型(长度) 【约束】);

主键约束:primary key  要求被修饰的字段:唯一 和 非空

唯一约束:unique  要求被修饰的字段:唯一

非空约束:not null  要求被修饰的字段:非空

查看数据库中所有的表: show tables

查看表的结构: desc 表名

删除表: drop table 表名

修改表:alter table 表名 add 列名 类型(长度) 【约束】;           修改表添加列

              alter table 表名 modify 列名 类型(长度) 【约束】          修改表修改列的类型长度及约束

              alter table 表名 change 旧列名 新列名 类型(长度) 【约束】 修改表修改列名

             alter table 表名 drop 列名                                                    修改表删除列

            rename table 表名 to 新表名                                                  修改表名

            alter table 表名  charcter set 字符集                                       修改表的字符集

3.插入操作

insert into 表 (列名1,列名2,..) values (值1,值2,..)        向表中插入某些列

insert into 表  values (值1,值2,..)                                                向表中所有列插入

4.更新操作

update 表名 set 字段名=值 ,字段名=值..

update 表名 set 字段名=值 ,字段名=值..  where 条件

5.删除操作

delete from 表名 where 条件

注:delete from 表名  和truncate table 表名  的区别

delete  一条一条的删除,不清空auto_increment  记录数,delete 删除的数据,如果在一个事务中可以找回

truncate 直接将表删除,重新建表,auto_increment 记录数将置为0,从新开始。truncate删除的数据是无法找回的。

6.查询操作

select distinct  *|字段,字段..  from 表  where 查询条件  

                                                             group by 分组字段  having 分组条件

                                                             order by 排序字段  asc(升序)|desc(降序)

7.主表、从表以及外键

外键的特点:从表外键的值是对主表主键的引用;从表外键类型必须与主表主键类型一致。

声明外键约束语法:

alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键)

[外键名称]  用于删除外键约束的,一般建议“_fk” 结尾

            alter table 从表 drop foreign key 外键名称

8.多表查询

交叉连接查询(基本不会使用,得到的是两个表的乘积):select * from A,B

内连接查询(使用的关键字 inner join      inner可以省略)

隐式内连接:select * from A,B where 条件

显示内连接:select * from A inner join B on 条件

外连接查询(使用的关键字  outer join     outer 可以省略):

左外连接:select * from A left outer join B on 条件

右外连接:select * from A right outer join B on 条件

子查询:

一条select 语句结果作为另一条select语法的一部分(查询结果、查询条件、表等)

例如:select * from products where category_id = {select cid from category where cname = '电器'}

你可能感兴趣的:(数据库)