MySql基础操作_01

MySql基础操作

SQL( structure query language)

SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)

1.DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
2.DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
3.DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
4.DQL语句 数据库操纵语言:查询数据SELECT

mysql数据库管理软件,记录事物一些数据特征:
由库,表,记录组成.
库相当于一个文件夹
表相当于一个文件
记录就是文件里面一条一条的内容
表中的成员属性就是一个一个字段
可以为每个项目建立一个数据库

关系型数据库:表与表之间有联系
比如: mysql,oracle,db2,sqlserver
非关系型数据库:key-value键值对形式, 没有表的概念
比如: redis mongodb memcache

  • linux
    service sstart mysql 启动数据库
    service mysql stop 停止数据库
    service mysql restart 重启mysql
  • windows
    net start mysql 启动mysql
    net stop mysql 停止mysql
    想要重启那么就先停止在启动.
mysql 客户端 登录 mysql 服务器

root 是权限最高的用户

  1. 登录本地myql
    -u 指定用户名 -p 指定密码 -h指定ip主机地址 默认值是localhost=>127.0.0.1
    mysql -uroot -p
  2. 登录远程mysql服务器
    mysql -uroot -h10.0.0.200 -p
  3. 退出mysql
    exit 或者\q
mysql 设置密码

查询当前登录的用户是谁

select user();
# 设置密码
set password = password('12456');
# 去除密码
set password = password('');
创建用户

(只是单纯创建一个账户而已,没权限的)
为"10.0.0.46" 创建ceshi01用户,密码111来访问服务器mysql

create user 'ceshi01'@'10.0.0.46' identified by '111'; # 指定具体用户
create user 'ceshi02'@'10.0.0.%' identified by '111'; # 指定某个网段
create user 'ceshi03'@'%'; # 指定所有机器都可以连接mysql

# 查看用户权限(用户怎么创建怎么查看)
show grants for 'ceshi02'@'10.0.0.%';
# GRANT USAGE ON *.* TO 'ceshi02'@'192.168.11.%' USAGE无权限的意思

# 客户端连接服务器mysql
mysql -uceshi04 -h10.0.0.46 -p
用户授权(创建用户的同时,也授予权限)
# 完整语法:
grant 权限 on 数据库.表名 to '用户名'%'ip地址' identified by '密码';
权限: 
all privileges 表示所有权限(可以简写all)
# select 查询数据权限
# insert 插入数据权限
# update 更新数据权限
# delete 删除数据权限
# *.* 代表所有库.所有表
grant select on *.* to 'ceshi04'@'10.0.0.%' identified by '222';

# 查看所有数据库
show databases;
# 移除权限
revoke select on *.* from 'ceshi04'@'10.0.0.%';
# 删除账号
drop user 'ceshi04'@'10.0.0.%';
# 刷新权限
flush privileges;
SQL语句
  • 操作数据库(文件夹)

  •   增:
    

    创建数据库db1,设置字符集utf8
    create database db1 charset utf8;

      查:
      查看建库信息
      show create database db1;
      显示所有数据库
      show databases;
    
      改:
      更改数据库字符集
      alter database db1 charset gbk;
    
      删:
      删除数据库db1
      drop database db1;
    
  • 操作表(文件)
    切换数据库
    use db1
    增:
    创建数据表t1(字段名,类型…)
    create table t4(id int, name char);
    查:
    查看所有表
    show tables;
    查看建表语句
    show create table t1;
    垂直查看数据信息,默认水平.
    show create table t1\G
    查看表结构
    desc t1;
    改:
    modify 单纯改变数据类型 指定char字符长度是6
    alter table t1 modify name char(6);
    change 连名字带数据类型都改变 新名字和数据类型都需要指定
    alter table t1 change name NAME char(7);
    alter table t1 change NAME name char(11);
    更改表名
    alter table t1 rename t99
    删:
    删除表t1
    drop table t5

  • 操作记录(文件内容):
    增:
    t2(字段名字,逗号彼此隔开) 一次只插入一条;
    insert into t2(id,name) values(1,'xboy1')
    一次插入多条数据
    insert into t2(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4")
    可以不指定具体字段,但是字段值必须一一对应
    insert into t2 values(5,"xboy5")
    可以具体指定某个字段设置值
    insert into t2(id) values(6);


select 后面接字段名称 也可以直接写* ,*代表所有字段;
select id,name from t2;
select * from t2;
数据库.表 在没有选择数据库的时候,也可以查询;
select * from db1.t2;
改:
upate 表名 set 字段=值 where 条件
update t2 set name = "王文";
加上条件再去修改值,否则全部都修改了 条件id=3的这条记录
update db1.t2 set name = "神秘男孩" where id = 4;
删:
删除t2表所有的数据
delete from t2;
删除黄熊大,指定具体数据删除,加上where 条件 id=4的记录
delete from t2 where id=4;

  • 清空数据,id号保留;
    delete from t2

  • 清空数据,id号重置;(速度更快)
    trancate table t2

常用数据类型:

	int 整型
	
	char和varchar 都是字符串
	
	char(5) 定长,固定开辟字符长度是5的空间 (手机号,或者身份证);速度快
	
	varchar(5) 变长,最大开辟字符长度是5的空间,实际按照存入的值算大小,速度慢
	
	float(255,30) 一共255,小数点最多占用30位
	
	enum 和 set 的数据必须从其中挑选,没有的话报错;
	
	enum 枚举 从一组数据中选一个 (一般性别上)
	
	set 集合 从一组数据中选多个 ,自动去重

配置linux my.cnf

find / -name my.cnf
nano /etc/mysql/my.cnf
#!includedir /etc/mysql/conf.d/
#!includedir /etc/mysql/mysql.conf.d/

cd /etc/mysql/conf.d/  # 客户端mysql配置文件
cd /etc/mysql/mysql.conf.d/ # 服务端mysql配置文件
把文档当中
  • 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8

  • 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    放服务端

  • 设置mysql客户端默认字符集
    default-character-set=utf8
    放客户端

service mysql restart;
mysql进去\s查看服务器信息是否是utf8 即正确

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值