zoukankan      html  css  js  c++  java
  • MYSQL语句及客户端工具

     

    sql语句分类:

    1.数据定义语言(DDL)

    创建、修改或删除数据库中各种对象,包括表、视图、索引等

    命令:CREATE TABLE (创建表) , CREATE VIEW(创建视图), CREATE INDEX(创建索引) 、ALTER TABLE (后期修改表属性),DROP TABLE(删除) , DROP VIEW(删除视图), DROP INDEX (删除索引)

    2.查询语言(DQL)

    按照指定的组合、条件表达式或排序检索已存在的数据库中数据,

    不改变数据库中数据。

    命令:SELECT…FROM…WHERE…

    3.数据操纵语言(DML)

    对已经存在的数据库进行元组的插入、删除、修改等操作

    命令:INSERT (向表里插入新的数据局) 、UPDATE(更新表中的数据)、DELETE (删除表内数据)

    4.数据控制语言(DCL)

    用来授予或收回访问数据库的某种特权、

    控制数据操纵事务的发生时间及效果、对数据库进行监视

    命令:GRANT(授权)、REVOKE(回收权限)、COMMIT(事务提交)、ROLLBACK (回滚 )

    ======================================================================================

    设置数据库初始密码:

     mysqladmin  -u  root password '123456'

    后期修改数据库用户的密码:

    [root@localhost ~]# mysqladmin  -u  root -p旧的密码 password '新的密码'

    [root@localhost ~]# mysqladmin  -u  root -p'TvC:Rm1ZlxtG' password '123456'

     mysql破解root管理员密码:

    systemctl stop mariadb  //关闭应用服务

    netstat -lnpt | grep 3306  //查询端口查看是否还有存在服务

    mysqld_safe --skip-grant-tables &  //跳过加载授权过程

    mysql  //连接mysql

    update mysql.user set authentication_string=password('000000') where user='root';  //将root密码改为000000

    flush privileges;  //刷新授权表

    exit  //退出(p也可退出)

    通过ps查看mysqld进程,并杀死所有进程

    systemctl stop mysqld

    systemctl start mysqld

    mysql -u root -p123abc

    显示当前连接用户:

    select user();

    查看数据库服务的基本信息:

    status

    mysql是一套关系型数据库管理系统,在每台mysql服务器中,均支持运行多个数据库(文件系统的目录)(分类、按照产品划分)。每个库相当于一个容器,其中存放着许多数据表,表中的每一行包含一条具体的数据关系信息,这些信息被称为数据记录。
    数据库的基本概念:

    数据

    描述事物的符号记录称为数据(Data)

    包括数字,文字、图形、图像、声音、档案记录等

    以“记录”形式按统一的格式进行存储

    数据表

    将不同的记录组织在一起,就形成了 “表”

    是用来存储具体数据的

    数据库

    数据库就是表的集合,是存储数据表的仓库

    以一定的组织方式存储的相互有关的数据

     查看当前服务器中有哪些库:

    show databases;

    切换数据库:

    use mysql;

     显示当前操作的数据库:

    select database();

     查看有哪些表:

      show tables;  //在mysql下执行

      mysql数据库的数据文件存放在/usr/local/mysql/data中,每个子目录对应一个数据库。在mysql存储引擎时每个表对应三个文件夹。

    [root@localhost ~]# ls /usr/local/mysql/data/mysql |grep ^user

    user.frm 表的结构定义

    user.MYD 表的数据

    user.MYI 表的索引

    显示数据库的结构(字段(列)):

    DESCRIBE  [数据库名.]表名 = desc

    describe user;

      describe mysql.user;

     创建新的数据库:

    create database crushlinux;

     删除指定的数据库:(谨慎使用)

    DROP DATABASE 数据库名

    drop database crushlinux;

     创建新的数据表:

    CREATE TABLE 表名 (字段1名称 类型,字段2名称 类型,……primary key(字段名称));

    用户名不超过16字节的字符串,不能为空;密码字串不能超过48个字符,插入记录时使用MySQL函数加密,默认值为空;考虑到查询的主要用户名不能重复,因此将user_name这列设置为主键。

    CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));

    删除指定的数据表:

    drop table 表名;

    drop table users;

    向数据表中插入新的数据记录:

    INSERT INTO 表名(字段1, 字段2, ……)  VALUES(字段1的值, 字段2的值, ……) ;

     INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456')

    INSERT INTO users VALUES('lisi', PASSWORD('654321'));

    select * from users;

    );

     从数据表中查询符合条件的数据记录:

    SELECT 字段名1,字段名2 ……  FROM 表名 WHERE 条件表达式

     SELECT user_name,user_passwd FROM users where user_name= 'zhangsan';

     修改、更新数据表中的数据记录:

    UPDATE 表名 SET 字段名1=新值1[,字段名2=新值2]  WHERE 条件表达式;

     在数据库中修改root用户密码:

    select user,authentication_string,host from mysql.user;

    update user set password=password('000000') where user='root'; 

     flush privileges;  //刷新授权表后退出,密码修改完毕

     在数据表中删除指定的数据记录:

    DELETE FROM 表名 WHERE 条件表达式;

    DELETE FROM users WHERE user_name='lisi';

     设置用户权限(用户不存在时,则自动建立新的用户):

    GRANT 权限列表 ON 数据库名.表名 TO 用户名@来 源地址[ IDENTIFIED BY ‘密码’ ];

    权限列表:用于列出授权的各种数据库操作,通过逗号进行分割,如:select,insert,update等,all表示所有权限,可以执行任意操作。

     库名.表名:用于指定授权操作的数据库和表的名称,可以使用通配符(*)表示所有

     用户名@来源地址:用于指定用户和允许访问的客户机地址;来源地址可以是IP地址,域名,%通配符表示所有(但不能表示localhost

    MySQL通配符:

     _:任意单个字符  192.168.1._(表示1-9)

     %:任意长度的任意字符 192.168.1.%(表示1网段的都可以)

    GRANT select ON crushlinux.* TO 'wangermazi'@'localhost' IDENTIFIED BY '123456';

     

     只是可以查的权限,不可修改。

    查看用户权限:

    SHOW GRANTS FOR 用户名@域名或IP

     SHOW GRANTS FOR 'wangermazi'@'localhost'; 

     撤销用户权限:

    REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@域名或IP

    revoke select on crushlinux.* from 'wangermazi'@'localhost';

     用于显示广泛的服务器状态信息:

    show status;

    查看命令的帮助:

    help create database

    help create table

    查看当前登录用户:

    show grants;

    show grants for 名字;  //查看某一个人的

    显示服务器错误或警告信息:

    show errors

    show warnings

    显示当前时间:

    select now();

     显示当前用户及时间:

    select CURRENT_USER(),CURRENT_TIMESTAMP;

    select user(),now(); 

    授权Windows客户机地址拥有访问权限:

     grant all on *.* to 'root'@'192.168.96.1' IDENTIFIED BY '123456';  //授予了一个所有库所有表的一个管理员权限

      flush privileges;

    如果连接不上关闭防火墙即可

     

  • 相关阅读:
    连接数据库及出现System.AccessViolationException错误的解决方法
    WCF REST 工作总结
    jquery easyui 扩展验证
    正则表达式语法
    SQL select语句执行顺序
    添加头文件afxwin.h后引起异常的解决办法
    imagej基本操作
    医学图像处理(一)
    灰度图像的自动阈值分割(Otsu 法)
    关于glog使用中遇到的问题
  • 原文地址:https://www.cnblogs.com/XXXX001/p/11650131.html
Copyright © 2011-2022 走看看