zoukankan      html  css  js  c++  java
  • 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'; 删除用户
    
    
    
     
  • 相关阅读:
    Spring boot unable to determine jdbc url from datasouce
    Unable to create initial connections of pool. spring boot mysql
    spring boot MySQL Public Key Retrieval is not allowed
    spring boot no identifier specified for entity
    Establishing SSL connection without server's identity verification is not recommended
    eclipse unable to start within 45 seconds
    Oracle 数据库,远程访问 ora-12541:TNS:无监听程序
    macOS 下安装tomcat
    在macOS 上添加 JAVA_HOME 环境变量
    Maven2: Missing artifact but jars are in place
  • 原文地址:https://www.cnblogs.com/zengjieboke/p/6995532.html
Copyright © 2011-2022 走看看