MySQL数据库

MySQL数据库

一、MySQL数据的安装

安装教程可登录下面网址

MySql详细安装教程_mysql安装教程csdn_youlin121的博客-CSDN博客

二、mysql的基本操作

  1. 登录mysql服务器

    命令符窗口:mysql -u root -p 回车输入密码即可登录mysql
    -u:登录的用户名
    -p:密码
  2. 退出mysql服务器

    quit;  或者  exit; 
  3. 创建用户

    # 必须使用管理员权限登录,普通用户是没有创建用户权限的。
    #需登录mysql服务器
    create user ‘用户名’@’localhost’ identified by ‘密码’;
    ​
    #如何查看已创建的用户?
        * 切换到mysql数据库
        * 查询一张user系统表(存放着用户相关的信息)
        
        select user from user;
        * 前面的user:系统表中的一个字段名
        * 后面的user:系统表名
        
        MD5加密
  4. 创建数据库(两种方式)

    #1.需要登录mysql服务器才可创建数据库(mysql命令)
    create database 数据库名;

#2.无需登录mysql服务器就可创建数据库(dos命令) mysqladmin -u root -p create 数据库名 回车输入密码即可创建成功

​
5. 列出本地所有的数据库
​
   ```sql
   show databases;
  1. 使用数据库

    use 数据库名;
  2. 给用户授权限

    grant 权限1,权限2.. privileges  on 数据库.*  to ‘用户’@‘localhost’
        #例:grant all privileges on bdqn.*  to ’tom’@’localhost’; 所有权限
        #例:grant select on bdqn.* to 'ztf'@'localhost';  只有查询的权限
        #例:grant select,insert on bdqn.* to 'ztf'@'localhost'; 只有查询和插入数据的权限
        
        
        * 权限:select、insert、update、delete、create table、create database、create view.........  create produre...
        
  3. 撤销权限

    revoke 权限1,权限2.. on 数据库.*  from ‘用户名’@‘主机地址’
        #例:revoke all on bdqn.*  from ‘tom’@’localhost’;
        #例:revoke select on bdqn.* from 'ztf'@'localhost';
        #例:revoke select,insert on bdqn.* from 'ztf'@'localhost';
  4. 删除数据库

    #1.登录mysql服务器才能删除(mysql命令)
    drop database 数据库名;

#2.无需登录mysql服务器(dos命令) mysqladmin -u root -p drop 数据库名 回车输入密码即可删除

10. 创建数据库表

   ```sql
   #语法:
   	create table table_name(
       	字段1 字段类型 [约束] [注释],
           字段2 字段类型 [约束] [注释],
           字段3 字段类型 [约束] [注释] ...
       )ENGINE=INNODB DEFAULT CHARSET=utf8;
       
   #备注:
   	#主键约束:primary key  (一张表只允许设置一个主键)
   	#唯一约束:unique key 
   	#非空约束:not null
   	#自动增长:auto_increment
   	#注释:comment(给字段添加注释)
   	#默认值:default
   	ENGINE=INNODB:设置存储引擎
   	DEFAULT CHARSET=utf8:设置默认的字符集
  1. 数据库设计的三大范式

    #1.第一范式的目标是确保每列的原子性(设计数据库表时要保证每列不可再分)
    	#如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
    	
    #2.第二范式要求每个表只描述一件事情
    人类表-存储人类的信息    (狗的信息)
    
    #3.如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF),也就是说数据表中的其他列跟主键列有直接关联关系

id     city							id    coutry    city
									1     中国      北京
									2     中国      上海
									3     美国      纽约
									4     日本      东京
1	   中国北京
2	   中国上海
3      美国纽约
4      日本东京
```
  1. 查看数据库中所有的表

    show tables;
  2. 查看表结构(表定义)

    desc table_name;
  3. 删除表

    drop table table_name;
    drop table if exists table_name;  #更高效
  4. 存储引擎

    存储引擎就是mysql中的一个组件,这个组件的作用就是为不同的表类型来处理SQL操作. 简单来说,存储引擎的作用就是处理SQL操作的

  5. InnoDB和MyISAM的区别?

    1. 事务处理:前者支持,后者不支持

    2. 数据行的锁定:前者支持,后者不支持

    3. 外键约束:前者支持,后者不支持

    4. 全文索引:前者不支持,后者支持

    5. 表空间大小:前者较大,约2倍,后者较小

  6. SQL的组成

    • DQL数据查询语言(SELECT语句)

    • DML数据操纵语言(INSERT, UPDATE, DELETE语句)

    • DDL数据定义语言(如CREATE, DROP,ALTER语句)

    • DCL数据控制语言(如COMMIT, ROLLBACK等语句 grant、revoke)

  7. 数据定义语言

    修改表名

    Alter table 旧表名 rename 新表名;

    添加字段

    ALTER TABLE 表名 ADD 字段名  数据类型  [属性];

    修改字段

    ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

    删除字段

    ALTER TABLE 表名 DROP 字段名;

    添加主键

    ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

    修改存储引擎

    ALTER TABLE 表名 ENGINE = MYISAM;
  8. MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

    #1.设计良好的数据库结构,允许部分数据冗余,提高效率
    #2.选择合适的表字段数据类型和存储引擎,适当的添加索引
    #3.减少单表中的数据量提高查询速度。
    #4.添加缓存机制,比如memcached。
    #5.书写高效率的SQL。
  9. 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题?

    #1.确认服务器是否能支撑当前访问量。
    #2.禁止外部访问链接(盗链), 比如图片盗链。
    #3.控制文件下载。
    #4.使用不同主机分流。
    #5.使用浏览统计软件,了解访问量,有针对性的进行优化
  10. 优化数据库的方法?

    #1.选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL
    #2.使用连接(JOIN)来代替子查询
    #3.优化事务处理
    #4.适用外键
    #5.建立索引(索引适当添加)
    #6.优化查询语句(SQL优化)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值