快捷搜索:
来自 网络数据库 2019-06-15 16:19 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

MySQL常用命令

(1)库的根底操作

1.user表
        假诺要求从任何机器连接 mysql 服务器
报这么些错“E奥迪Q5ROPAJERO 1130: Host 'root' is not allowed to connect to this MySQL server”
咱们供给为连日来用户设置权限

  • 翻看已有库: show databases;
  • 创立库(制定默许字符集): ccreate database 库名 default charset=utf8;
  • 翻看创建库的语句: show create database 库名;
  • 翻开当前所在库: select database();
  • 切换库: use 库名;
  • 查看库中已有表: show tables;
  • 删除库: drop database 库名;

在mysql库 user表中

(2)表的田间管理

图片 1

  • 制造表(制定字符集)

 【1】Host——对应的同意访问域(%表示全域,192.168.%.%意味着对应账号对该段均可访问,
           127.0.0.1象征对应账号仅那台机械可访问)
【2】User——用户名
【3】Password——密码加密串
【29】xxx_priv——种种权力 

    create table tablename(

2.mysql默认库
三个刚建好的mysql数据库 一般有须臾间多少个库
# show database;
'information_schema'
'mysql'
'performance_schema'
'test'

    字段名 数据类型,

information_schema 库:
information_schema那张数据表保留了MySQL服务器全数数据库的音讯。如数据库名,数据库的表,表栏的数据类型与走访权限等。再轻巧点,这台MySQL服务器上,到底有怎样数据库、各种数据库有啥表,每张表的字段类型是如何,各种数据库要什么样权限手艺访问,等等信息都保留在information_schema表里面。

    字段名 数据类型,

mysql 库:
mysql数据库是mysql的参数数据库,那几个是mysql的中央数据库,类似于sql server中的master表,主要担当积累数据库的用户、权限设置、关键字等mysql自个儿供给动用的决定和管理消息。不得以去除

    ... ...

performance_schema 库:
5.5 版本起 新扩大了叁个属性优化的电动机: PERFORMANCE_SCHEMA。器重用于搜集数据库服务器质量参数。MySQL用户是不可能创制存款和储蓄引擎为PEEnclaveFORMANCE_SCHEMA的表,那一个功能暗中认可是关门的:
须求设置参数: performance_schema  才足以运行该功效,那些参数是静态参数,只好写在my.cnf 中
无法动态修改。
Performance的开启很轻易,在my.cnf中[mysqld]加入performanc_schema,检查品质数据库是或不是运转的指令:
SHOW VARIABLES LIKE ‘performance_schema’;
假如再次来到的 值为ON,则证实品质数据库平常打开状态。

    );

 

  • 翻看创制表的言语(字符集)

test 库:
做测试使用的。

    show create table tablename;

 

  • 查看表结构

3..显得查看命令
翻开mysql的近来登入用户 
select user();

    desc tablename;

查阅当前版本
select  @@version ;

  • 删除表

1、展现当前数据库服务器中的数据库列表:

    drop table tablename;

mysql> SHOW DATABASES;

(3)表记录管理

只顾:mysqlCurry面有MYSQL的体系新闻,大家改密码和新添用户,实际上即使用那个库开始展览操作。

  • 在表中插入记录

2、展现数据库中的数据表:

    insert into tablename values(值1),(值2),...,(值N);

mysql> USE 库名;
mysql> SHOW TABLES;

  • 查询表记录

3、显示数据表的结构:

    select * from tablename;

mysql> DESCRIBE 表名;

    select 字段名1,字段名2,...,字段名N from tablename;

4、显示当后天子
mysql>select now();

(4)表字段的操作

5、突显年月日
SELECT DAYOFMONTH(CURRENT_DATE);
--------------------------
| dayofmonth(current_date) |
--------------------------
|                       24 |
--------------------------
1 row in set (0.02 sec)

    语法:

 SELECT MONTH(CURRENT_DATE);
---------------------
| MONTH(CURRENT_DATE) |
---------------------
| 9 |
---------------------
1 row in set (0.00 sec)

      alter table tablename 实践动作;

SELECT YEAR(CURRENT_DATE); --------------------
| YEAR(CURRENT_DATE) |
--------------------
| 2009 |
--------------------
1 row in set (0.00 sec)

  • 增多字段
    •   alter table tablename add 字段名 数据类型 first | after 字段名;
  • 删去字段
    •   alter table tablename drop 字段名;
  • 修改字段数据类型
    •   alter table tablename modify 字段名 新数据类型;

 

      注: 修改数据类型时,会受到表中原有数据的限量!

  1. 当总计器用
    select ((4 * 4) / 10 ) 25;
    ----------------------
    | ((4 * 4) / 10 ) 25 |
    ----------------------
    | 26.60 |
    ----------------------
    1 row in set (0.00 sec)
  • 修改字段名
    •   alter table tablename change 旧名 新名 数据类型;
  • 修改申明
    •   alter table tablename rename 新表明;

 

(5)表记录的田间管理

 彰显字符串
mysql> SELECT "welecome to my blog!";
----------------------
| welecome to my blog! |
----------------------
| welecome to my blog! |
----------------------
1 row in set (0.00 sec)

  1. 去除表记录
    1.   delete from tablename where 条件;
  2. 履新表记录
    1.   update tablename set 字段名1=值1, 字段名2=值2,... where 条件;

串接字符串
select CONCAT(f_name, " ", l_name) AS Name
from employee_data
where title = 'Marketing Executive';
---------------
| Name |
---------------
| Monica Sehgal |
| Hal Simlai |
| Joseph Irvine |
---------------
3 rows in set (0.00 sec)
留神:这里用到CONCAT()函数,用来把字符串串接起来。别的,大家还用到以前学到的AS给结荚列'CONCAT(f_name, " ", l_name)'起了个假名。

(6)一些与众不同的合作格局

 

  1. 混淆匹配
    1.   where 字段名 like 表达式;
    2.   表达式
      1.   _   :  匹配单个字符
      2.   %  : 相配 0 到四个字符
  2. 正则相称 regexp
    1.   where 字段名 regexp "正则表达式";
    2.   正则表达式符号
      1.   ^ : 以...开头
      2.   $: 以...结尾
      3.   . : 相称大肆三个字符
      4.   []: 包含...内容
        1.         [0-9]:匹配带数字的
        2.         [a-z]:相配带小写字母的
        3.         [A-Z]
      5.   * : 星号前面包车型大巴字符出现 0 次可能频仍

 

 

 

能够把 SQL 分为四个部分:
※ 数据定义语言(DDL),举个例子:CREATE、DROP、ALTE福睿斯等话语。
※ 数据操作语言(DML),举个例子:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
※ 数据查询语言(DQL),举例:SELECT语句。(一般不会单独归于一类,因为唯有一个话语)。
※ 数据调整语言(DCL),举个例子:GRANT、REVOKE等话语。
※ 事务调整语句(TCL),比方:COMMIT、ROLLBACK等语句

询问和翻新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数码
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据

SQL 的数码定义语言 (DDL) 部分使大家有力量创制或删除表格。大家也足以定义索引(键),规定表之间的链接,以及施加表间的牢笼。
SQL 中最关键的 DDL 语句:
CREATE DATABASE - 创设新数据库
ALTER DATABASE - 修改数据库
DROP DATABASE - 删除数据库

CREATE TABLE 
- 创立新表
ALTER TABLE - 更动(改造)数据库表
DROP TABLE - 删除表

CREATE INDEX 
- 创设索引(搜索键)
DROP INDEX - 删除索引
ALTER INDEX -修改索引

 

4.库操作

4.1 创造数据库
专注:创设数据库在此之前要先一而再Mysql服务器
命令:
create database <数据库名>
例1:创建一个名字为xhkdb的数据库
   mysql> create database xhkdb;

例2:创立数据库并分配用户
①CREATE DATABASE 数据库名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数量库名.* TO 多少库名@localhost IDENTIFIED BY '
密码';
③SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');

次第实践3个指令完毕数据库成立。注意:普通话“密码”和“数据库”是户本身索要设置的。

4.2 突显数据库
命令:show databases   (注意:最终有个s)
mysql> show databases;
专注:为了不再显示的时候乱码,要修改数据库私下认可编码。以下以GBK编码页面为例举办验证:
1、修改MYSQL的布署文件:my.ini里面修改default-character-set=gbk
2、代码运行时修改:
   ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
   ②PHP代码:header("Content-Type:text/html;charset=gb2312");
   ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
该函数用于为当下连连装置私下认可的字符集。字符串csname钦点了1个有效的字符集名称。连接查对成为字符集的暗中同意核查。该函数的做事形式与SET NAMES语句看似,但它还能够设置mysql- > charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。

4.3 删除数据库
命令:drop database <数据库名> 举个例子说:删除名叫 xhkdb的数据库
mysql> drop database xhkdb;
事例1:删除多少个业已规定期存款在的数据库
   mysql> drop database drop_database;
   Query OK, 0 rows affected (0.00 sec)
事例2:删除一个不明确期存款在的数据库
   mysql> drop database drop_database;
   ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
      //发生错误,不可能去除'drop_database'数据库,该数据库不存在。
   mysql> drop database if exists drop_database;
   Query OK, 0 rows affected, 1 warning (0.00 sec)//发生二个警戒表明此数据库不存在
   mysql> create database drop_database;
   Query OK, 1 row affected (0.00 sec)
   mysql> drop database if exists drop_database;//if exists 剖断数据库是还是不是存在,不设有也不发出错误
   Query OK, 0 rows affected (0.00 sec)

4.4 连接数据库
命令: use  <数据库名> 比方说:如果xhkdb数据仓库储存在,尝试存取它:
   mysql> use xhkdb;
显示器提示:Database changed
use 语句能够通知MySQL把db_name数据库作为暗中同意(当前)数据库使用,用于后续语句。该数据库保持为暗许数据库,直到语段的末段,大概直到公布八个两样的USE语句:
   mysql> USE db1;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
   mysql> USE db2;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable
运用USE语句为一个特定的近来的数据库做标志,不会阻止你访问其它数据库中的表。下边包车型大巴例证能够从db1数据库访问笔者表,并从db2数据库访问编辑表:
   mysql> USE db1;
   mysql> SELECT author_name,editor_name FROM author,db2.editor
       ->        WHERE author.editor_id = db2.editor.editor_id;
USE语句被设立出来,用于与Sybase相包容。
多少网络朋友问到,连接以往怎么退出。其实,不用退出去,use 数据库后,使用show databases就会查询全数数据库,若是想跳到其它数据库,用
   use 其余数据库名字
就能够了。

4.5 当前选取的数据库
命令:mysql> select database();
MySQL中SELECT命令类似于别的编制程序语言里的print或然write,你能够用它来展示一个字符串、数字、数学表明式的结果等等。怎么样使用MySQL中SELECT命令的诡异作用?
1.显示MYSQL的版本
mysql> select version(); 
-----------------------  
| version()             | 
-----------------------  
| 6.0.4-alpha-community | 
-----------------------  
1 row in set (0.02 sec) 

4.5 修改数据库

alter database  数据库名 用来转移数据库的全局性格。这么些特色积存在数据库目录中的db.opt文件中

create database <数据库名>  增
drop database <数据库名>     删
alter <数据库名>                      改
show databases                      查

select database();
use 数据库名

 

 

 

5.表结构操作

1.创建表
**
create table
**mysql> create table yuangong(
    -> id int unsigned not null auto_increment,
    -> firstname varchar(25) not null,
    -> lastname varchar(25) not null,
    -> email varchar(45) not null,
    -> phone varchar(10) not null,
    -> primary key(id));
Query OK, 0 rows affected (0.03 sec)

 

create table(
字段1名 数据类型  约束原则,
字段2名 数据类型   约束原则,
字段3名 数据类型   约束原则,
[index(字段名)]**

**);

 

无论当前是还是不是在使用对象数据库,都足以创建表,只要在表名后边加上目的数据库就可以。例如:
mysql>create table 数据库名. 表名(
)

在sql语句中注意“约束的概念":

1.实体完整性约束(主键``--唯一且非空)`` primary key``()

``违约处理:``No action``(拒绝执行)

 

2.参照完整性约束(外键约束)foregin ``key``() ``references tableName(filedName) [``on delete``|``update casecade | ``no action``]

``违约处理:级联更新或拒绝执行

 

3.用户自定义完整性约束 非空、唯一、核对(``not null``,``unique``,``check``短语)

``违约处理:拒绝执行

 

4.默认值   default "默认值"

 

CREATE TABLE Person
(
 EmployeeEducationTypeID int NOT NULL PRIMARY KEY,
 EmployeeID int NOT NULL,
 EducationTypeID int NULL,
 GPA numeric(4,3) NOT NULL CHECK (GPA>2.5 AND GPA<=4.0)
)
-----------在列上直接定义CHECK约束

 

2.复制表 复制七个表命名叫yuangong2
mysql> *create 新表  select from   库 . 表;

**

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:MySQL常用命令

关键词: