MySQL

来源:互联网 发布:js点击后跳出对话框 编辑:程序博客网 时间:2024/06/05 20:48

总结一下学习到的MySQL 数据库

1.设置数据库密码,并用navicat实现可视化。
首先进入数据库>mysql

mysql> use mysql;
Database changed

给root用户设置新密码,蓝色部分自己输入:
**mysql> update user set password=password(“123456”)
mysql> where user=”root”;**
Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0

刷新数据库:
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

退出mysql:
mysql> quit;
Bye

退出后重新登录就可以使用新的密码了。

使用navicat实现可视化,点击“连接”,在弹框中输入刚刚建好的用户名及密码,测试连接,发现成功~

2.使用 MySQL命令建立数据库

2.1 创建数据库、表
创建数据库
mysql> CREATE DATABASE 库名;

创建表
mysql> USE 库名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));

案列:

CREATE DATABASE IF NOT EXISTS secondkill;-- 使用数据库use secondkill;-- 用户表DROP TABLE IF EXISTS user;CREATE TABLE user(  `user_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',  `name` VARCHAR(128) NOT NULL UNIQUE COMMENT '用户名',  `password` VARCHAR(128) NOT NULL COMMENT '密码',  PRIMARY KEY (user_id))ENGINE=INNODB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT='秒杀用户表';

解释:
1>AUTO_INCREMENT类型的属性用于为一个表中记录自动生成ID功能
2>COMMENT用来添加注释
3>ENGINE是存储引擎。存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。
在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。
而3 InnoDB:InnoDB表类型可以看作是对MyISAM的进一步更新产品,它提供了事务、行级锁机制和外键约束的功能。

2.2删除数据库、表
删除数据库:
mysql> DROP DATABASE 库名;

删除数据表:
mysql> DROP TABLE 表名;

将表中记录清空:
mysql> DELETE FROM 表名;

2.3设置索引

若要设置外键,在参照表(referencing table,即Pc表) 和被参照表 (referenced table,即parts表) 中,相对应的两个字段必须都设置索引(index)。

对Parts表:

ALTER TABLE parts ADD INDEX idx_model (model);

这句话的意思是,为 parts 表增加一个索引,索引建立在 model 字段上,给这个索引起个名字叫idx_model。

对Pc表也类似:

ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

事实上这两个索引可以在创建表的时候就设置。这里只是为了突出其必要性。

定义外键:

下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将Pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model
FOREIGN KEY (cpumodel)
REFERENCES parts(model);

第一行是说要为Pc表设置外键,给这个外键起一个名字叫做fk_cpu_model;

第二行是说将本表的cpumodel字段设置为外键;

第三行是说这个外键受到的约束来自于Parts表的model字段。

级联操作:

技术人员发现,一个月之前输入到 parts 表中的某个系列的 cpu (可能有很多款)的型号全都输错了一个字母,现在需要改正。我们希望的是,当 parts 表中那些 Referenced Column 有所变化时,相应表中的 Referencing Column 也能自动更正。

可以在定义外键的时候,在最后加入这样的关键字:

ON UPDATE CASCADE;

即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。

如果把这语句完整的写出来,就是:

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model
FOREIGN KEY (cpumodel)
REFERENCES parts(model)
ON UPDATE CASCADE;

原创粉丝点击