• sql语句浅谈以及mysql遇到的问题解决见解


    mysql数据库基本操作:
    
    1、显示数据库和查看mysql版本
    show databases;
    select version();
    select user();查看用户
    
    2、选择数据库
    use 数据库名;
    
    3、显示数据库中的表
    show tables;
    
    4、显示数据表的结构 
    describe 表名;
    
    5、显示表中记录 
    SELECT * FROM 表名
    
    6、建库
    create databse 库名;
    
    7.mysql数据库创建新表:
    create table student (
    sno int(10) not null,
    sname varchar(25) not null,
    ssex char(4) not null,
    sage int(4) ,
    sdept char(4),
    primary key(sno)
    foreign key(sage) references class(age)  注:外键所对应的项应为对应表的主键
    );
    
    8.mysql数据库在指定表查找数据:
    select name
    from student
    where sno='1405020109'
    
    9.mysql数据库给指定表插入新数据:
    insert into student (sno,sname,ssex,sage,sdept)
    values(1405020109,'zeng','M',22,'YW');
    
    10.mysql数据库更新指定表的数据:
    update student
    set sname='zengjie'
    where sname='zeng'
    
    11.mysql数据库删除指定表的数据:
    delete from student where name='张三';
    
    12.mysql创建,删除索引:建立索引可以使查询速度提高
    方法1:create index classid on class01(id,name);
    方法2:alter table class add index index_name(name); 
    删除索引:dorp index 索引名 on 表名;
    
    13.mysql创建视图:视图则为可以反复利用的sql语句样式
    create view `class name view` 
    select name
    from class01;
    
    14.mysql函数的使用:
    max,min,sum,count,avg等
    使用方法:select 函数名(列名) from 表名 where 条件;
    
    15.mysql表之间的连接
    select student.name,class.name 
    from student join class
    on student.classid=class.classid
    
    16.在已经存在的表里增加字段或者设置主外键
    Alter table class add 字段名 类型 (after 指定字段,这个用来指定增加字段在哪个位置);
    Alter table class add constraint primary key (主键名);
    Alter table class add constraint foreign key (本表的外键名) references student(其他表的主键);
    相当于本表的外键要对应其他表的主键。 
    
    mysql数据库的备份与还原(linux环境下):
    A.备份
    1 [root@CentOS ~]# mysqldump -u root -p mysql > ~/mysql.sql  #把数据库mysql备份到用户目录下命名为mysql.sql
    2 Enter password: 
    3 [root@CentOS ~]# ls ~/mysql.sql 
    /root/mysql.sql 
    B.还原
    [root@CentOS ~]# mysql -u root -p web < ~/web.sql  #把web.sql导入数据库web
    
    mysql进入安全模式修改user表的一系列问题:
    A:linux环境下
    
    1:service msyqld stop 或者ps -ef | grep mysql 再kill -9 pid
    2:mysqld_safe --skip-grant-tables & (进入mysql安全模式)
    3:mysql -u root -p 出现提示密码输入,直接Enter进入
    4:use mysql;
    5select Host,User,Password from user;看下user表里的基本用户情况
    6:修改数据(用户或者密码,当然权限也可以)
    一般新增用户建议复制user表上有的权限。。。
    7:flush privileges; 刷新一下系统的权限
    8:service mysqld restart
    
    B:windows环境下
    
    1:找到my.ini配置文件,在mysqld字符下一行添加skip-grant-tables
    2: 重启mysql服务
    3:在命令行模式下直接mysql回车进入mysql数据库
    4:use mysql;
    5: update user set authentication_string=password('123456') where Host='localhost';有的mysql版本里面的密码元素不是authentication_string,是Password
    6:刷新数据库flush privileges;
    7:quit
    8: 再次进入my.ini配置文件,注销或者删除skip-grant-tables
    9: 重启mysql服务
    10:在命令行mysql -u root -p,再输入密码123456,进入mysql数据库
    (注:一般问题是mysql数据库密码错误或者用户权限不够或者User和Host不符合用户所需所造成的。如果是权限上的问题则可以如法炮制修改user表里相关的元素)
    
    再浅谈mysql数据库里的user表里Host元素的localhost和127.0.0.1,这两者作用基本相同,表示本机数据库,但是含义却有小差别,localhost表示不用通过网卡就可以访问数据库,而127.0.0.1需通过网卡访问数据库,如果防火墙或者其他安全设置上有限制,则就可以看出两者的大区别了。
    
    创建新用户:
    1:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 创建用户
    2: GRANT privileges ON databasename.tablename TO 'username'@'host'; 授予权限
      (grant 权限 on 数据库对象 to 用户)

    3:grant privileges on databasename.tablename to 'username'@'hostname' identified by 'password'; 同时创建用户和授予权限
    4: DROP USER 'username'@'host'; 删除用户
    
    
    
     
  • 相关阅读:
    Long类型在前端丢失精度
    Spring Event事件通知
    el-drawer去除自带黑色边框、允许滚动
    XSS攻击
    入门1:nodejs类比Java中:JVM
    https的crt和key证书
    C#如何定制Excel界面并实现与数据库交互
    数据库选型、Oracle 、Mysql、Redis、MSSQL、Access和国产数据库
    写代码同写文章一样
    操作笔记
  • 原文地址:https://www.cnblogs.com/zengjieboke/p/6995532.html
Copyright © 2020-2023  润新知