MySQL基础

1)MySQL安装:(附件是MySQL的安装教程)

     首先是关于MySQL的安装,大家可以去mysql.com上直接下载,不建议下载安装zip压缩版的,我安装的是mysql-Installer-community-5.6.10.1.msi。这个直接点击下一步,就可以安装,安装时注意端口号选择的是3306,用户名是root,密码自定义,安装后,在环境变量中设置path。将安装的bin目录添加到path中。这样,就把mysql安装好了。

 

2)与Mysql服务器的连接和断开:

        连接:在dos下,输入 mysql -u用户名 -p密码 [-hIP]

如果是本地的话,[-hIP]可省略,例如我的用户名和密码都是root,可以这样连接到服务器:

mysql -uroot -proot      注意是有空格的。

        断开,直接键入exit或者quit即可断开mysql服务器。

 

3)基本命令:

    在mysql这个数据库管理系统中可以包含多个数据库,每个数据库又包含多张table。

    显示所有数据库:show databases;

    切换到某一数据库:use 数据库名;

    在某一数据库下,查看该数据库中的全部表:show tables;

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

(附:常用的基本数据类型:

    整型:int,bigint ;浮点型:float double decimal(m,d)其中该数字共有m位,其中有小数d位。

    字符型:char,定长字符 varchar 可变长字符。text  longtext,这两个用于存储长文本数据。

     日期:date: yyyy-mm-dd   time:hh:mm:ss

             datetime: yyyy-mm-dd hh:mm:ss  )

        

    创建表:eg:

create table t_stu{
id int, 
stuname varchar(10),
stuage int,
stuaddress varchar(20),
primary key(id)
)

     其中id是主键,用于唯一标示一条记录;创建一张表时,总要定义主键;主键也业务无关,不能修改们不能重用,即使某一主键被删除了,也不可以重新使用;主键不能为null。

在创建表时,主键也可以使用自增模式:id int auto_increment,这样在插入数据时,就不用再给主键赋值。

在创建表时,如果某个属性不能为空,可以使用not null 比如上面的创建中,要求stuname不为空,可以:stuname varchar(10) not null.

创建表时,如果想某个属性在不赋值时,有默认值,可使用default 例如,stuaddress默认值设置为郑州,可以:stuaddress varchar(20) default '郑州',

创建表时,如果想某个属性不被重复,且不为空,例如stuname,要求唯一确定,可以 stuname varchar(10) not null unique,

   

    删除一个表:drop table 表名;

    查询表中所有数据:select * from 表名;

    更改表:添加一列:alter table stu add tel varchar(20);

               删除一列:alter table stu drop column tel;

    重命名:rename table oldname to newname;

    导出数据库:先要退出服务器,然后再黑框中键入;mysqldump -hlocalhost -u用户名 -p密码 数据库名>目录

例如,我将自己创建的数据库mydb导出到D:/a.sql中,可以:mysqldump -hlocalhost -uroot -proot mydb>d:/a.sql即可。

    批量导入SQL脚本:在连接服务器后的某一数据库中,键入:source 目录

 

    一次性向表中插入多条记录:比如向t_stu表中插入多个记录:insert into t_stu(stuname,stuage,stuaddress) values ('tom',23,'USA'),('lily',21,'China'),('jerry',24,'USA')

注:插入的列的数量和值的数量必须相同;每个值的类型要与对应的列相匹配;

 

4)逻辑运算符:等于 =;不等于 != 或<>;在指定的两个数之间 between;(包含这两个数),大于,小于,大于等于和小于等于,与java相同。

        关系运算符:and or not

    

5)更新记录信息:eg:update t_stu set name ='rose' where id = 2;

其中where后接一个条件。约束要更新的是哪一个记录。

    

6)删除:delete from t_stu[where id = 2];  如果没有中括号,将删除该表中的所有记录,但该表还存在 ,而drop删除时,则是连同表一块删除的。

                  或:truncate table t_stu;         删除表中所有记录,效率比delete更快。

    

7)表设计的三大范式:1、确保每列的原子性 2、在第一范式的基础上,确保每列都和主键相关 3、在第二范式的基础上,确保每列都和主键直接相关,而不是间接相关。

由于三大范式,就引入了表的拆分。进而有了外键。

关于外键:1、有外键的表称为子表,主键被其他表引入作为外键的表称为主表。

              2、子表中外键列中添加的数据必须在主表的主键中存在。

              3、删除主表数据时,如果子表中有引用,则删除失败。

              4、子表的外键数据类型要与主表的主键数据类型相同。

              5、创建外键约束:

alter table t_stu add classid int;
 
alter table t_stu add constraint fk_class foreign key(classid) reference t_class(id);

     其中t_class也是一个表,是主表。

               6、删除外键:alter table t_stu drop foreign key fk_class;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值