A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


1.登录库
     mysql -u 用户名 -p

2.针对库的增删改查
    1.创建库
        create database 数据库名 [character set 字符编码 collate 字符集校对];   
        [ ]号内的是可选参数,校对一般省略,有默认值。比如创建一个带有字符集的数据库db2 :create database db2 character set utf8
    2.查看数据库
        a)查看数据库服务器中的所有数据库 show databases;
        b)查看某个数据库的定义信息 show create database 库名;
        c)查看当前正在使用的库 select database();
    3.删除数据库
        drop database 库名
    4.修改数据库
        alter database 库名 character set 新字符集 collate 校对规则;
        注意:修改的是数据库的字符集和校对规则
    5.切换数据库
       use 库名;

3.针对表的操作
    1.创建表
create table 表名(
    字段名 类型 约束,
    字段名 类型 约束
);
    2.添加列
        alter table 表名 add 列明 类型 约束;
    3.删除列
        alter table 表名 drop 列明;
    4.修改列名
        alter table 表名 change 旧列名 新列名 类型 约束;
    5.修改列
        alter table 表名 modify 列名 类型 约束
    6.修改表名
        rename table 旧表名to 新表名
    7.修改表的字符集
        alter table 表名 character set 字符集
    8.查看所有表
        show tables;
    9.查看表结构
        desc 表名;
    10.删除表
        drop table 表名
    11.添加主外键约束
        添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);            
        添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
        删除主键约束:alter table 表名 drop primary key;
        删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);

4.针对表数据的操作
    1.插入记录
        insert into 表名(列名1, 列名2, 列名3) values(值1, 值2, 值3)
     2.表记录修改
update 表名 set 列名1=值, 列名2=值 where 条件;
    3.删除表记录
        delete from 表名 where 条件;
        truncate table 表名;
        区别:truncate 先删表,再建表.如果需要删除所有数据用这个,速度比较快。delete删除数据是一行一样的删除,并且删除后可以恢复
    4.基本查询
        select [distinct]  *或列名 from 表名 where 条件;
        select 列名 as 要显示的名字 from 表名 where 条件;
        加distince表示获取不重复数据,*表示所有列
    5.where子查询
        where 后面条件判断可以用 =,>,>=,<,<=,<>,like,in
        like后面的%表示的字符可以是多个,_表示的字符个数只能是一个
        in(1,2,3) 里面存放可能会出现的值
        查询空字段用is null,非空字段用is not null;
    6.排序
        order by desc 或 asc; desc是降序,asc是升序,默认是降序
5.聚合函数
    sum() count()  max() min() avg()
6.分组
    group by
    通过having对分组后的数据条件过滤,注意where只能使用在group by 之前,不能过滤group by之后的数据,会报错
7.多表关联中的外键问题
    1.如果是一对多,外键应该存储在多表中
    2.如果是多对多,外键应该存储在第三张表中
    3.如果是一对一,外键可以存储在任意一方

10.mysql常见问题
    1.插入中文数据乱码 或 无法插入中文数据   
            产生乱码原因,数据库服务端存储的是UTF8格式的数据,客户端采用UTF-8接受,但是WINDOWS命令窗给客户端的数据是GBK编码,导致客户端接收到乱码数据
            解决方案:找到mysql的安装目录下的bin目录,修改my.inf中的客户端编码:[client]下的default-character-set修改值为GBK,重启mysql:通过运行services.msc打开服务界面,在里面找到mysql服务,右键重启即可







1 个回复

倒序浏览
厉害,刚好学到这个地方,多谢了大神!
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马