找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
2021-08-10

mysql基本语句

一、什么是数据库:
是存放数据的电子仓库。以某种方式存储百万条,上亿条数
据,供多个用户访问共享。

二、数据库是如何保存数据的?
每个数据库的数据都是通过api(接口),用于创建、访问、管理、复制所保存的数据。
系统中有很多动态数据存在数据库中,需要通过访问数据库才能显示

三、数据库原理
客户端查询、修改、删除、添加操作、通过sql语句对数据库服务器进行操作,然后将数据展现在客户端。
C:\Users\懒猫的卷发\AppData\Local\YNote\data\weixinobU7Vjn4yMNDRmRjnHXxm3n0WJOU\5a8c7bf4e72442968af98d46d4e9c4a9\clipboard.png

四、数据库的分类
1、关系型数据库:在数据库中表与表之间存在某种关系,数据存储在不同的表中
如:db2、Oracle、MySQL
2、非关系型数据库:通常数据以对象的形式存储在数据库中,如:redis(缓存数据库,键值对),hbase(列模型的方式),mingodb(文档类模型)

五、认识MySQL:
是指mysql数据库管理系统,属于关系型数据库,瑞典公司MySQL,db开发,被Oracle收购

MySQL是一种关联数据库保存在不同的汇总表,而不是将所有的数据放在一个大仓库中,增加速度和灵活性
MySQL数据库是目前web端应用最广泛的,也是b/s架构常用的数据库

MySQL优点
1、开源、免费
2、体积小、安装简单、维护成本低
3、支持多系统
4、支持多语言:python、Java、php、、c++等
5、支持多种存储引起
6、与其他工具组合可以搭建免费的网站系统
lamp=linux+mysql+php
lnmp=linux+nginx+mysql+php

MySQL应用架构
1、单点数据:适用于小规模应用(我们使用)
2、复制:使用于中小规模
3、集群:适用于大规模(mgr、三主三从、)

数据库的术语:
1、行、
2、列、
3、数据库
4、表
5、数据
6、冗余(重复)
7、单表
8、多表
9、临时表
10、视图
11、索引
12、存储
13、主键
14、外键

Linux安装MySQL
1、查询Linux中是否有MySQL文件
C:\Users\懒猫的卷发\AppData\Local\YNote\data\weixinobU7Vjn4yMNDRmRjnHXxm3n0WJOU\97bf3b5b54f2496c8c87cdea0bea2668\clipboard.png
2、删除MySQL:yun remove 服务名称   删除Linux中的数据包
3、yum remove mysql * 删除Linux中所有的数据库包
4、yum erase 数据库包 删除Linux中的数据
5、rpm -e --nodeps 数据包 删除Linux中的数据库

安装数据库客户端:yum install mysql
安装数据库服务端:yum install mysql-server

安装好后数据库的启动
service mysqld start开启数据库服务
service mysqld restart重启数据库服务
service mysqld status查看数据库状态
service mysqld
stop关闭数据库

设置登录密码:mysqladmin -uroot  password 密码
mysql -u root -p进入mysql操作界面
show databases;显示所有的数据库

create database 仓库名  创建新的仓库(末尾加分号)
show databases 显示所有的数据库
drop database 库名  删除数据库
use 库名  使用库
show tables 显示库内所有的表
create table 表名(字段1 字符类型1(字符长度1) 字段2 字符类型2(字符长度));创建表
create tables aa(id int(10) name char(20));创建表

navicate
在Xshell授权才能链接不然MySQL会报错,链接不上
第三方工具链接数据库时:1、关闭防火墙 service iptables stop
2、数据库服务是否启动:service mysql start
3、连接的IP是否正确
4、账号和密码是否正确
5、是否设置权限并刷新
grant all privileges on *.* to root@"%" identified by "123456";授权所有权限
flush   privileges;刷新权限

建表
步骤:
第一步 :新建一个库 create  databses  库名 ;
第二步:  use 库名    库(linux界面)或点击选择navicat中一个库
第三步:建  create  table 表名(字段名1   字符类型1(字符长度1),字段名2  字符类型2(字符长度2))
第四步:insert  into   插入数据


知识点:
一个汉字 占多少长度和编码有关(utf-8,gbk)

utf-8:一个汉字=3个字节
gbk:一个汉字=2个字节
认识字符类型:
int  数值类型
char     或varchar  字符类型
float    浮点型数据类型
data      时间类型
数值格式:
int   整数    2的负31次方~2的31次方     字节4
bigint      超大整数          字节:8
loat      浮点型数据     字节 :4


字符类型:
char     固定长度的字符串    最大字符255
varchar   具有最大限制的可变长量         最大65535 字符


时间格式类型:
date     yyyy--mmmm--dddd           格式的日期    字节3
time    hh:mm:ss     格式的时间    字节3
datetime     日期+时间    字节:8
year    年    字节1



建表:
建表语句:
create  table  表名(字 段名1  字符类型1(字符长度),字段名2   字符类型2(字符长度),字段名3  字符类型3(字符长度))default  charset=utf8 ;
default  charset=utf8 ;默认编码格式,当插入中文数值显示???解决
案例:create  table  hz10(id  int(10),name char(20),age  int(10))default  charset=utf8 ;
desc   表名    查看结构 ;
建表约束:
表中的限制条件
作用:表在的时候加入约束的目的是为了保证表中的记录完整和有效。
(1)非空约束    (not   null)   非空,用于保证字段的值不能为空,
(2)唯一约束  (unique)         保证字段值具有唯一性(不能重复),可以为空,唯一约束可以有多个
(3)主键约束(primary  key) 保证字段值具有唯一性(不能重复),不能为空 ,一个表中只有一个主键
(4)外键约束 (forrign  key) 两个表之间的主键建立关系
(5)默认 :(default)          当字段不填数据,默认数据
(6)自增长 :auto _increment    当添加一条数据,自动增长+1

(1) 与主键约束一起使用,一般针对id
(3)每插入一条数据,指定的字段值+1



drop   table   表名   删除表 ;
例如:DROP   table   aa  ;
表字段:
添加字段:add
格式:alter  table   表名  add 字段名 字符类型(字符长度);
alter  table   hz10  add  fs int(10);
修改字段:change
格式:alter  table   表名   change  原字段名    新字段名   字符类型(字符长度);
alter  table   hz10  change  fs  tz int(10);
删除字段:drop
格式:alter  table  表名   drop 字段名 ;
alter  table   hz10 drop tz ;
重命名:rename
格式:alter  table  原表名 rename 新表名;
alter  table   hz10 rename hzdcs10 ;
调换字段顺序:modify      after      在......后面
格式:alter  table   表名 MODIFY  移动的字段名   字段类型(字符长度)  after   字段名 ;
alter  table   hzdcs10 MODIFY  age int(10)  after id ;
将字段添加到首行:
格式:alter  table 表名 add  字段名 字符类型(字符长度)      first ;
alter  table   hzdcs10 add  no  int(10) first ;
将字段添加到指定字段的后面:
格式:alter  table   表名   add  新字段名    字符类型(字符长度  ) AFTER    原表名 ;
alter  table   hzdcs10 add  tz  int(10) AFTER age ;



表中插入数据:
(1)表中插入数据:insert  into   表名    values  (插入值1,插入值2)   注入:插入的值,只有数值不需要加引号,字符要加上引号
如:INSERT  into hz10 VALUES  (1,"文琪",18);
(2)表中插入数据:insert  into   表名 (id)   values  (插入值1)   
INSERT  into hz10(id) VALUES;

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册