澳门新莆京手机网站-新蒲京娱乐场 > 澳门新莆京手机网站 > 澳门新莆京手机网站mysql底子教程

澳门新莆京手机网站mysql底子教程

利用SSMS数据库管理工科具改革数据

1.1基本概念:

动用SSMS删除数据

1、连接数据库、选取数据表-》右键点击,接纳具备行(大概选用前200行)。

澳门新莆京手机网站 1

2、在数额窗口中甄选数据行(注意点击最左侧列选拔任何数据行)-》在最右侧右键点击-》选取删除-》在弹出框中式茶食击分明。

澳门新莆京手机网站 2

3、示例结果如下:

澳门新莆京手机网站 3

MySQL常用命令

修正跋扈一条恐怕多条都足以

1:张开数据库,接纳数据表,右键点击-》编辑全部行(如未配备,点击编辑前200行)。

澳门新莆京手机网站 4

2、编辑需求改过的数额-》编辑完成后,右键点击空白处-》选择实行SQL就可以编辑成功。

澳门新莆京手机网站 5

Mysql是生龙活虎种关系型数据库,将数据贮存在分裂的报表中,表格中的要素有:

运用T-SQL脚本删除数据

朝气蓬勃、客户管理

当IP地址为一段时是可利用通配符%,即'192.1638.1.%'

成立顾客

create user '用户名'@'IP地址' identfied by '密码';

去除客户

    drop user '用户名'@'IP地址';

订正客户

    remane user '客商名'@'IP地址';to '新顾客名'@'IP地址';;

订正密码

    set password for '用户名'@'IP地址'=password('新密码');

使用T-SQL脚本改革数据

?列:表中的一个字段,三个列包括了雷同数据类型的数码。

除去单表单行数据

语法:delete from 数据库名.dbo.表名 where 条件;

示例:delete from testss.dbo.test1 where id='12';

澳门新莆京手机网站 6

二、客户权限:

暗中同意,什么都未有

show grants for '用户名'@'IP地址'                          #查阅权限

grant 权限 on 数据库.表 to '用户名'@'IP地址'          #授权

remove 权限 on 数据库.表 to '用户名'@'IP地址'      #撤销授权

allprivileges       #除了这一个之外grant外的保有权限即除去无法给其余顾客设置权限外,其余具有root具有的权位它都有

select         #査权限

数据库.表

test.tb1         #只允许査test数据库中的tb1表

test.*       #允许査test数据库中全数表

*.*                 #允许查看所数据库和数据Curry的全体表

      select,insert #査和插入数据权限

校正单表中黄金时代行单列或然多列数据

语法:update 表名 set 列名1=值,列名2=值 where 条件;

示例一:update test1  set age='21' where id='1';

示范结果:

澳门新莆京手机网站 7

?行:表中的多少是按行存款和储蓄的,行是表中的一个记下。假若将表想象为网格,网格中垂直的列为表列,水平表现表行。

除去单表多行数据

语法:delete from 数据库名.dbo.表名 where 条件依旧delete top(n卡塔尔 from 数据库名.dbo.表名 where 条件;

示例:

delete from testss.dbo.test1 where id>='14' and id<='15';

delete from testss.dbo.test1 where id between '16' and '17';

delete from testss.dbo.test1 where id in ('18','19');

delete top(2) from testss.dbo.test1 where id>='20';

 澳门新莆京手机网站 8

 

三、SQL语句

改善单表中多行一列或多列数据

语法:update top(数量) 表名 set 列名1=值,列名2=值2 where 条件;

示例:

update test1 set age='23' where id in ('1','2');

update test1 set age='22' where id between '3' and '4';

update test1 set age='23' where id>='5' and id <='6';

update top(2) test1 set age='23' where id>='5';

update test1 set age='23' where test1.id in (select top(2) id from test1 order by id desc);

亲自过问结果:

澳门新莆京手机网站 9

澳门新莆京手机网站 10

?主键:数据库中的标志列,主键具备唯风华正茂性且无法为NULL。

删去表中全部数据

语法:delete from 数据库名.dbo.表名;

示例:delete from testss.dbo.test1; 

澳门新莆京手机网站 11

数据库等级

              show databases ;           #查看当前Mysql都有如何数据

           create database 数据库名;    #开创数据库

           create database 数据库名 default charset utf8 collate utf8_general_ci;

           use 数据库名;                  #利用该数据库

           drop database 数据库名; #去除数据库

多表关联改进表中数据

语法:update 表1 set 表1.列1=值,表1.列2=值 from 表1 as a,表2 as b where a.列名=b.列名;

示例:update test1 set test1.name='李华',test1.sex='女' from test1 as a,test2 as b where a.classid=b.id;

亲自过问结果:

 澳门新莆京手机网站 12

澳门新莆京手机网站 13

1.2mysql语句标准:

 清空表中具备数据

语法:truncate table 数据库名.dbo.表名;

示例:truncate table testss.dbo.test1;

澳门新莆京手机网站 14

表级别

              show tables;                      #翻开数据库中全部表

           desc  表名;                   #查阅数据表的数据构造

           create table 表名(列名 数据类型,列名 数据类型)#创建表

                 eg:create table td1(id int,name varchar(20));

                 eg:create table 表名(

                            列名 类型 是还是不是足感觉空

                            列名 类型 是或不是足感觉空

                      )engine=InnoDB default charset=utf8;

总计:修正数据表数据,灵活组合改良数据列,数据源,查询条件是重大。

 

1卡塔尔Sql语句必得以;甘休;

truncate和delete总结

频率:truncate比delete速度快且使用的系统和事务日志能源少。
行使范围:truncate只可以对table,delete能够是table和view。
日记操作:delete 语句每便删除蓬蓬勃勃行,并在事情日志中为所删除的每行记录意气风发项,所以能够对delete操作进行roll back
两个反差:

1、truncate在种种表上无论是大的要么小的都不慢,如若有rollback命令delete将被收回,而truncate则不会被收回。

2、truncate是二个DDL语言,向此外具有的DDL语言雷同,他将被隐式提交,没办法对truncate使用rollback命令。

3、truncate将再也安装高水准线和颇有的目录,在对全数表和索引实行完全浏览时,经过 truncate 操作后的表比delete操作后的表要快得多。
4、truncate不能够接触任何delete触发器。

5、当表被truncate清空后表和表的目录讲重新恢复生机设置成早先大小,而delete则无法。

6、无法清空父表。

a.默认值

2卡塔尔国保留重要字不区分朗朗上口写;

总结

delete无需列名和通配符,它是剔除整行并非删除列,要删减钦赐的列,请使用update语句,並且delete语句从表中删除行,以至是剔除表中全体行,并非剔除表自身。删除数占领危害,删除以前应当先备份。

b.是或不是足感到空,为空设为null,不可能为空设为not null

3State of Qatar可随便进入空白和换行符;

c.自增列(一张表只好有叁个,数字,必得是索引-主键)

4卡塔尔国注释的利用:单行注释格式为:【--注释】,多行注释格式为【/*注释*/】。

d.主键索引:

      一张表只可以有三个主键,独一不能重新,不能够为null,经常景色下,自增列设置主键

独一索引:

           可感觉null,一张表能够有多少个独一列

            --约束

           --索引,加快查找

主键:

      无法为null、无法重新、一张表唯有几个主键(能够多列组成主键)

      #诚如用法:

           id int auto_increment primary key,

1.3 mysql的命令行操作命令:

     e、外键:

      alter table 被限定表的表名 add constraint 外键名 foreign key 被约束表(被界定的列名) references 另一张表的表名(提供限定范围的列名)。

      其效果为:两张表创设约束,完结风流倜傥对多

1卡塔尔国登入mysql:【mysql  -h 主机名 -u 客商名 -p】-h表示要连接到哪黄金时代台主机的

     f、数据类型:数值、时间和字符串

mysql数据库,当登陆当前主机时可粗略;-u钦命客户名,默以为root;-p为设置时设定的密码,假使为空能够总结。

      数值 :

           bit   二进制

示例:

      整数:

           tinyint

           smallint

           int

           bigint        --上边八个的分别为独家的约束不风姿罗曼蒂克致

签到本机mysql数据库:【mysql -u root -p】

小数:

           decimal   --正确的,保存的是原值

           float         --最不可信

           double    --不太可信

签到远程主机mysql数据库:【mysql -h 192.168.10.111 -u root -p】

字符串:

      char(m)         --定长字符串,保存时是以坚持住长度储存,相比较占空间,查找速率快

      varchar(m)    --变长字符串,保存时最多可存款和储蓄设定的值,查找速率慢

      text           --

      mediumtext

      longtext

登入本机mysql数据库直接加密码:【mysql -u root -p11111】

      二进制数据:

      tinyblob,blob,mediumblob,longblob

2卡塔尔(قطر‎创造/删除数据库:成立:【create database 数据库名;】删除:【drop database 数据库名】

      时间:

           DATE:

                 YYYY-MM-DD(1000-01-01/9999-12-31)

           TIME:

                 HH:MM:SS('-838:59:59'/'838:59:59')

           YEAR:

                 YYYY(1901/2155)

           DATETIME:

                 YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59)

           TIMESTAMP:

                 YYYYMMDD HHMMSS(1970-01-01 00:00:00)

示例:

     枚举和会集的分别:

      枚举是单选,集合是多选

drop table 表名;                       #直白删除表

delete from td1;                           #清空表内容,自增时会随着删除前的数值扩大

truncate table 表名;                    #清空表内容,速度快,自增回到原点

始建多个名叫test的数据库:【create database test;】

修改表:

           添加列:

           alter table 表名 add 列名 类型;

           删除列:

           alter table 表名 drop column 列名;

           修改列:

           alter table 表名 modify column 列名 类型;          #只可以改类型

           alter table 表名 change 原列名 新列名 类型; #不仅能改列名又能改项目

           加多主键:

           alter table 表名 add primary key(列名);

           删除主键:

           alter table 表名 drop primary key;

           alter table 表名 modify 列名 int,drop primary key;

           增加外键:

           alter table 表名 add constraint 外键名(形如:FK_从表_主表) foreign key 从表(外键列名)references 主表(主键字段);

           删除了这几个之外键:

           alter table 表名 dropforeign key 外键名;

删去叁个名叫test的数据库:【drop database test;】

数据行等级:

3卡塔尔(قطر‎查询数据库/数据表:

a、增

      insert into 表名(列名,列名) values('值1','值2');   #一回性扩大一条数据

      insert into 表名(列名,列名) values('值1','值2'),('值3','值4’);#贰次性增增加条数据

      insert into 表1名(列名,列名) select 列名,列名 from 表2名;    #将表第22中学的数据插入表1

      eg:insert into tb1(name,age)select class,people from tb2;#将tb第22中学class和people列中的数据插入到tb1中的name和age列

      注意:插入数据时料定注意对应两列的数据类型要长久以来

      insert into 表名(列名,列名) select 列名,列名 from 数据所在的表名 where 条件;    #将表第22中学相符要求的多少插入表1

      eg:insert into tb1(name,age)select class,people from tb2 where id>2;     #将tb第22中学id大于2的class和people列中的数据插入到tb1中的name和age列

?查询数据库:【show databases;】在通过该命令查询时发今后除本身创设的数据库之外,还恐怕有五个默许的库,查找有关资料后对其张开了认知,分别是:information_schema库,该库保存着有关MySQL服务器所保险的全数其余数据库的音信,如数据库名,数据库的表等;mysql库,mysql的中坚数据库,存储了数据库的客户、权限设置、关键字等mysql自个儿必要使用的支配和管制消息;performance_schema库,该库主要用来搜罗数据库服务器品质参数。

b、删

      delete from 表名 where 条件;   #去除知足条件的数据行

      delete from 表名 where 条件1 and 条件2;   #删去满足条件1和规格2的数据行

      delete from 表名 where 条件1 or 条件2; #剔除满足条件1或规范2的数据行

?查询数据表:【show tables】,注意查询数据表应该在甄选好了数据库之后张开,假若是在进入mysql后未选用特定数据库使用此命令,则不算。

c、改

      update 表名 set 列名=值;                    #将该表中内定列的值全体制修正为内定值

      update 表名 set 列名=值 where 条件;     #将该表中满足条件的钦定列的值全体制更正为内定值 

                     

?查询表构造:【desc 表名】。

d、査

      select * from 表名 ;               #查看该表内全部数据

      select 列名1,列名2 from 表名;    #查阅该表中列名1和列名2的数据,呈现时是以列名1和列名2的次第呈现,而非建表是的顺序

      select 列名1,列名2 from 表名 where 条件; #查看该表中满意条件的列名1和列名2的多寡,彰显时是以列名1和列名2的逐一呈现,而非建表是的依次

                     

4卡塔尔(قطر‎选拔数据库:有三种方法,分别为:1.登陆时一贯内定:【mysql -D 所挑选的数据库名 -h 主机名 -u 顾客名 -p】2.登入后选拔操作的数据库:【use 数据库名】

e、其他

示例:

1、条件

      select * from 表名 where 条件;#翻开该表满意条件的兼具数据

      select * from 表名 where 条件1 and 条件2;  #查看该表同有的时候候满足条件和准星2的全数数据

      select * from 表名 where 条件1 or 条件2;#查阅该表满意条件或条件2的富有数据

      select * from 表名 where 列名 between 值1 and 值2; #翻看该表中内定列的值在值1和值2之间的有着数据

      select * from 表名 where id in(1,4,5); #翻看该表中id是1,4,5的全体值

      select * from 表名 where id not in(1,4,5);      #翻开该表中id不是1,4,5的全数值

      select * from 表名 where id in(select nid from 表2);#查看该表中id是表第22中学nid的全体值

登录时:【mysql -D testdb -u root -p】,或者【mysql -D testdb -u root -p11111】

2、通配符

      select * from 表名 where user like 'sdf%';             #查阅该表中user列中以sdf最先的全体值(多字符串)

      select * from 表名 where user like 'sdf_';             #查阅该表中user列中以sdf起头的全数值(二个字符串)

登录后:【use testdb】

      3、限制

           select * from 表名 limit 5;                #前5行

           select * from 表名 limit 6,5;              #从第6行先河的5行(不建议使用)

           select * from 表名 limit 5 offset 6;   #从第6行起首的5行(推荐应用)

补给,另风流浪漫种登入时的取舍,更简便易行:【mysql -u root -p11111 testdb】

      4、排序

           select * from 表名 order by 列名 asc ;                 #基于列从小到大排列

           select * from 表名 order by 列名 desc ;               #依靠列从大到小排列

           select * from 表名 order by 列1 desc ,列2 asc;     #依照列1从大到小排列,借使相仿则按列2从小到大排列

5卡塔尔创制/删除数据表:

      5、分组

将数据以某一列的相似值相互合併成一条数据。

      select * from 表名 group by 列名;  #以钦点列将该表数据开展分组

      使用聚合函数:

      select age ,max(part),min(part),sum(part),count(part)from tb3 group by age; #以age列分组,max(part)中体现该分组中part列中的最大值,min(part)中显示该分组中part列中的最小值,sum(part)中显示该分组中又有part值相加的和,count(part)中呈现该组是由几条数据统黄金时代的分组,

      select age ,max(part) as a,min(part) as b from tb3 group by age;    #以age列分组,a中彰显该分组中part列中的最大值,b中显得该分组中part列中的最小值,

      select age ,count(part) from tb3 group by age having count(part)>2;  #来得出count(part卡塔尔国>2的以age为分组规范的数据

?创立数据表:【create table 表名 (列申明)】列的扬言钦命了各列的习性,日常包涵以下几点要素:

      6、组合

      select 列1 from 表1 union select 列2 from 表2;     #将表第22中学列2的数目在表1中列1的数码背后显示,暗中同意会进展去重操作,如不想扩充去重,则在union后边加上all

1.表名;

      7、连表

      select * from 表1 ,表2 where 表1.列1=表2.列2; #将表第22中学的数据遵照表1.列1=表2.列2相称后对应的显示在表1的左边,以表1为条件

      select * from 表1 left join 表2 on 表1.列1=表2.列2 ;#将表第22中学的数据依附表1.列1=表2.列2相配后对应的呈现在表1的左臂,以表1为基准

      select * from 表1 inner join 表2 on 表1.列1=表2.列2;#两张表的多寡依靠表1.列1=表2.列2,相配呈现后,将包蕴null的行清除,实际上就是将left join的结果实行挑选显示

2.表中的各列名;

3.数据类型:mysql中定义了多少个大类的数据类型,具体分类见下方:

4.是或不是为主键;

5.是或不是足以为NULL;

整型:(无符号通过unsigned关键字标志)

类型 字节 范围(有符号) 范围(无符号)

tinyint 1 -128~127 0~255

smallint 2 -32768~32767 0~65535

mediumint 3 -8388608~8388607 0~16777215

int 4 -2147483648~2147483647 0~4294967295

bigint 8 +-9.22*10的18次方 0~1.84*10的19次方

浮点型:

类型 字节 含义 用途

float 4 float(m,d卡塔尔(قطر‎最大位数m位,小数点后d位 单精度浮点数

double 8 double(m,d卡塔尔国最大位数m位,小数点后d位 双精度浮点数

decimal decimal(m,dState of Qatar,若m>d,则为m+2;不然为d+2 适用于高精度 小数

日子和岁月档期的顺序:

类型 字节 格式 示例

DATE 3 YYYY-MM-DD 2017-07-22

TIME 3 HH:MM:SS 15:47:30

Copyright © 2015-2019 http://www.carrefourstation.com. 澳门新莆京手机网站-新蒲京娱乐场有限公司 版权所有