(1卡塔尔库的底蕴操作

1.user表
        要是急需从其余机器连接 mysql 服务器
报这一个错“ECRUISERRO卡宴 1130: Host ‘root’ is not allowed to connect to this MySQL
server”
笔者们需求为总是客商设置权限

MySQL常用命令:

启动MySQL:net start mysql
停止MySQL:net stop mysql
登录MySQL:mysql -h hostname -u username -p 或者mysql -u username
-ppassword
退出MySQL:exit 或者 quit

数据库:database 表:table

注:– 双中写道 + 空格:注释(单行注释卡塔尔,也能够应用#号

  • 翻看本来就有库: show databases;
  • 创造库(拟订暗中同意字符集卡塔 尔(英语:State of Qatar): ccreate database 库名 default
    charset=utf8;
  • 查看创设库的语句: show create database 库名;
  • 查阅当前所在库: select database();
  • 切换库: use 库名;
  • 查看库中原来就有表: show tables;
  • 删除库: drop database 库名;

在mysql库 user表中

数据库的基本操作:

— 库操作

(2卡塔 尔(英语:State of Qatar)表的处理

威澳门尼斯人36366com 1

创办和查看数据库:

成立数据库:create database 数据库名称;
查看全部数据库:show databases;
查阅有些已经成立的数据库音讯:show create database 数据库名称;
更改数据库编码:alter database 数据库名称 default character set
编码格局;
删去数据库:drop database 数据库名称;

(风流倜傥)创造数量库

  • 创设表(拟定字符集卡塔 尔(阿拉伯语:قطر‎

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

数据表的基本操作:

注意事项:操作数据表早前,须要运用”use 数据库名”钦定操作哪个数据库。

创建数据表:
<code>
Create table 表名
(
字段名1,数据类型 [完整性节制标准],
字段名2,数据类型 [完整性节制规范],

字段名n,数据类型 [完整性约束标准],
);
</code>
查看数据表:
Show create table 表名;
<code>使用describe语句查看数据表:describe 表名;也许 desc
表名;</code>
改良数据表:
<code>改进表名:alter table 旧表名 rename [to] 新表名;
改正字段名:alter table 表名 change 旧字段名 新字段名 新数据类型;
固然新字段与旧字段数据类型相符,也无法大致,必需重写。
改进字段数据类型:alter table 表名 modify 字段名 数据类型;
增添字段:alter table 表名 add 新字段名 数据类型 [自律原则]
[first|after 已存在字段名];
删除字段:alter table 表名 drop 字段名;
改良字段的排列地点:
alter table 表名 modify 字段名1 数据类型 first|after 字段名2;
去除数据表:drop table 表名;
</code>

例:mysql> create database mystudent charset
uft8;

    create table tablename(

2.mysql默认库
二个刚建好的mysql数据库 平常常有刹那间多少个库
# show database;
‘information_schema’
‘mysql’
‘performance_schema’
‘test’

表的束缚:

主键限制:primary key;
外键约束:foreign key;
非空节制:not null;
唯生机勃勃性节制:unique;
暗中同意值限定,用于安装字段的暗许值:default;

  1. 主键限制:
    单字段主键:字段名 数据类型 primary key
    多字段主键:primary key(字段名1,字段名2,…,字段名n)
  2. 非空约束:字段名 数据类型 not null
  3. 唯黄金年代限制:字段名 数据类型 unique
  4. 暗许节制:字段名 数据类型 default 暗中同意值

#SQL语句报错:只会报告顾客报错的大概地点不会注脚原因(静默情势卡塔尔国

    字段名 数据类型,

information_schema 库:
information_schema那张数据表封存了MySQL服务器全部数据库的新闻。如数据库名,数据库的表,表栏的数据类型与拜会权限等。再轻易题,这台MySQL服务器上,到底有何数据库、种种数据库有啥表,每张表的字段类型是怎么样,种种数据库要怎样权限技术采访,等等消息都保留在information_schema表里面。

设置表的字段值自动增添:

字段名 数据类型 auto_increment
默许情况下,该字段的值是从1开端自增的。
索引:
始建索引:
创制表的时候创造索引:
<code>
create table 表名(
字段名 数据类型 [完整性节制标准],
字段名 数据类型 [完整性约束标准],

字段名 数据类型 [完整性限定标准],
[威澳门尼斯人36366com,unique|fulltext|spatial] index|key [别名] (字段名 [(长度)])
[asc|desc]
);
</code>

查看索引是还是不是被使用:explain select * from 表名 where 字段名=值 \g

  1. 运用create index 语句在早已存在的表上制造索引
    <code>create [unique|fulltext|spatial] index 索引名 on
    表名(字段名 [(长度)]) [asc|desc]
    </code>
  2. 接受alter table 语句在已经存在的表上创设索引:
    <code>
    Alter table 表名 add [unique|fulltext|spatial] index 索引名(字段名
    [(长度)]) [asc|desc]
    </code>
    除去索引:
  3. 运用alter table 删除索引:
    Alter table 表名 drop index 索引名;
  4. 动用drop index 删除索引:
    Drop index 索引名 on 表名;

增加,更新与删除数据:
加上数据:

  1. 为表中负有字段增多数据:
    A.insert语句中内定全部字段名
    Insert into 表名 (字段名1,字段名2,…)
    Values (值1,值2,…);
    B.insert语句中不点名字段名
    Insert into 表名 values(值1,值2,…)
    注意事项:增加的值得顺序必得和字段在表中的概念的次第相通
  2. 为表的钦赐字段增添数据:
    Insert into 表名 (字段名1,字段名2,…)
    Values(值1,值2,…);
    多学生机勃勃季招生:insert语句的其他写法:
    Insert into 表名
    Set 字段名1=值1[,字段名2=值2,…];
  3. 何况添扩大条记下:
    <code>
    Insert into 表名 [(字段名1,字段名2,…)]
    Values (值1,值2,…),
    (值1,值2,…),

    (值1,值2,…);
    </code>

威澳门尼斯人36366com 2

    字段名 数据类型,

mysql 库:
mysql数据库是mysql的参数数据库,这几个是mysql的主导数据库,相符于sql
server中的master表,首要担当积存数据库的客户、权限设置、关键字等mysql自身索要利用的决定和管制音讯。不能够去除

履新数据:
  1. 立异部分数据
  2. 更新任何数额(不选择where语句)
    <code>
    Update 表名
    Set 字段名1=值1[,字段名2=值2]
    [where 条件表明式];
    </code>

例:mysql> create database `databases`
charset utf8;

    … …

performance_schema 库:
5.5 版本起 新添了二个属性优化的汽油发动机
PERFORMANCE_SCHEMA。首要用于搜罗数据库服务器品质参数。MySQL顾客是不可能创制存款和储蓄引擎为PE哈弗FORMANCE_SCHEMA的表,这一个功效私下认可是倒闭的:
需求设置参数: performance_schema 
才得以运维该功效,这一个参数是静态参数,只好写在my.cnf 中
不能够动态改正。
Performance的开启十分轻便,在my.cnf中[mysqld]加入performanc_schema,检查质量数据库是或不是运行的指令:
SHOW VARIABLES LIKE ‘performance_schema’;
要是重临的 值为ON,则印证品质数据库不奇怪打开状态。

删去数据:
  1. 删除部分数据
  2. 去除全部数目(不应用where语句)
    Delete from 表名 [where 条件表达式];
    多学子机勃勃招:
    选取重要字truncate(截断)删除表中数据:
    Truncate [table] 表名;
    总计:delete删除部分数据,truncate删除全体数据。

威澳门尼斯人36366com 3

    );

 

单表查询:

Select语句:
<code>
Select [distinct] *|{字段名1,字段名2,字段名3,…}
From 表名
[where 条件发挥式1]
[group by 字段名 [having 条件发挥式2]]
[order by 字段名 [asc|desc]]
[limit [offset] 记录数];
</code>

#数据库名称不可能选取首要字假诺非要使用需前后加上暗记 ‘ (esc 键上面的键再加泰罗尼亚语状态下输出卡塔 尔(阿拉伯语:قطر‎

  • 查阅成立表的言辞(字符集卡塔尔

test 库:
做测验使用的。

简短询问:

询问全数字段:

  1. 在select语句中钦赐全数字段:
    Select 字段名1,字段名2,… From 表名;
  2. 在select语句中运用“*”通配符代替全数字段
    Select * from 表名;

询问钦赐字段:
<code>Select 字段名1,字段名2,…from 表名;</code>

1.创立汉语数据库

    show create table tablename;

 

按规范查询:
  1. 带关系运算符的查询
    <code>
    Select *|字段名1,字段名2,…
    From 表名
    Where 条件表明式;
    </code>
  2. 带in关键字的查询:决断有个别字段的值是还是不是在钦赐的集聚中
    <code>
    Select *|字段名1,字段名2,…
    From 表名
    Where 字段名 [not] in (元素1,元素2,…);
    </code>
  3. 带between and 关键字的查询:剖断某个字段的值是或不是在内定的范围内
    <code>
    Select *|字段名1,字段名2,…
    From 表名
    Where 字段名 [not] between 值1 and 值2;
    </code>
  4. 空值查询
    <code>
    Select *|字段名1,字段名2,…
    From 表名
    Where 字段名 is [not] null;
    </code>
  5. 带distinct关键字的查询
    <code>
    Select distinct *|字段名1,字段名2,…]
    From 表名;
    </code>
  6. 带like关键字的查询
    a) 百分号(%)通配符:相称任意长度的字符串
    b) 下划线()通配符:相称单个字符
    <code>
    Select \
    |字段名1,字段名2,…
    From 表名
    Where 字段名 [not] like ‘相配字符串’;
    </code>
    万生龙活虎急需相称%要么*,则应用转义字符’\’,如:% 或者 _
  7. 带and关键字的多规格查询
    <code>
    Select *|字段名1,字段名2,…
    From 表名
    Where 条件表明式1 and 尺度表明式2 […and 条件发挥式3];
    </code>
  8. 带or关键字的多规格查询
    <code>
    Select *|字段名1,字段名2,…
    From 表名
    Where 条件表明式1 or 准则表明式2 […or 条件发挥式3];
    </code>
  9. or和and关键字一齐使用的动静:
    And的预先级高于or,因而当双方一同利用时,应该先运算and两边的尺度表达式,再运算or两侧的规范表明式。

例:mysql> set names gbk;

  • 查看表结构

3..显得查看命令
查看mysql的这几天登入客商 
select user();

例:mysql> create database 中文 charset utf8;

    desc tablename;

查阅当前版本
select  @@version ;

威澳门尼斯人36366com 4

  • 删除表

1、显示当前数据库服务器中的数据库列表:

#MySQL也能应用中文数据库.但需告诉服务器当前中文的字符集(不建议接受)

    drop table tablename;

mysql> SHOW DATABASES;

#始建数据库成功会再daya目录下创办与数据库对应名字的公文夹

(3)表记录管理

注意:mysqlCurry面有MYSQL的体系音信,大家改密码和新增加客商,实际上就算用那一个库开展操作。

(二)查看数据库

  • 在表中插入记录

2、显示数据库中的数据表:

1.查看全体数据库

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

mysql> USE 库名;
mysql> SHOW TABLES;

mysql> show
databases;

  • 查询表记录

3、展现数据表的结构:

威澳门尼斯人36366com 5

    select * from tablename;

mysql> DESCRIBE 表名;

2.查看钦定部分的数码库

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

4、展现当前光阴
mysql>select now();

mysql> show database like [多少库名];

(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)

3.查看数据库的创制语句

      alter table tablename 实行动作;

SELECT YEAR(CURRENT_DATE); +——————–+
| YEAR(CURRENT_DATE) |
+——————–+
| 2009 |
+——————–+
1 row in set (0.00 sec)

mysql> show create database
[数量库名]; #风流洒脱经涉嫌主要字或汉语需加反引号

  • 增添字段
    •   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 新表明;

 

mysql> alter database [数码库名] charset utf8;

(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)’起了个假名。

mysql> drop database [多少库名];

(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 次大概一再

 

— 表操作

 

(一)**创建表**

 

例:mysql>use [数码库名]

能够把 SQL 分为多少个部分:

数据定义语言(DDL),比如:CREATE、DROP、ALTECRUISER等话语。

数据操作语言(DML),比方:INSERT(插入卡塔 尔(阿拉伯语:قطر‎、UPDATE(改良卡塔尔、DELETE(删除卡塔尔语句。

数据查询语言(DQL),比方:SELECT语句。(平日不会独自归属风流浪漫类,因为独有叁个口舌卡塔尔国。
※ 数据调整语言(DCL),譬喻:GRANT、REVOKE等说话。
※ 事务调控语句(TCL卡塔尔,比方:COMMIT、ROLLBACK等话语

mysql> create table [if not exists]
[表名] charset utf8;

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

或:

SQL 的多少定义语言 (DDL)
部分使大家有力量创制或删除表格。我们也能够定义索引(键卡塔 尔(英语:State of Qatar),规定表之间的链接,以致施加表间的束缚。
SQL 中最关键的 DDL 语句:
CREATE DATABASE – 创造新数据库
ALTER DATABASE – 修改数据库
DROP DATABASE – 删除数据库

CREATE TABLE 
– 创设新表
ALTER TABLE – 改造(更正卡塔尔数据库表
DROP TABLE – 删除表

CREATE INDEX 
– 创制索引(寻找键卡塔尔
DROP INDEX – 删除索引
ALTER INDEX –校勘索引

mysql> create
table if not exists student(name varchar(10),gender varchar(10),number
varchar(10),age int ) charset utf8;

 

# if not
exists:如若表名不设有,那么创制,不然不进行代码

4.库操作

表选项:字符集:chart 具体字符集;保障表中数据存款和储蓄的字符集

4.1 创造数据库
注意:创设数据库此前要先一而再Mysql服务器
命令:
create database
<数据库名>

例1:创立一个名字为xhkdb的数据库
   mysql> create database xhkdb;

查对集:collate 具体育高查对集;

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

积存引擎:engine 具体的储存引擎(innodb 和myisam卡塔 尔(阿拉伯语:قطر‎

依次实行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() 设置的字符集。

1.翻看全体表

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)

例:mysql> show tables;

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 其余数据库名字
就足以了。

2.查看部分表:模糊相配:mysql> show tables like
‘pattern’;

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注