当前位置:文档之家› Mysql数据库的增删改查

Mysql数据库的增删改查

Mysql数据库的增删改查
Mysql数据库的增删改查

Mysql数据库的增删改查。

1,首先启动mysql数据库的服务,在运行的窗口中输入:net start mysql,这样,就可以启动mysql数据库的服务,同理,输入net stop mysql,就可以关闭数据库的服务。

2,当我们使用命令窗口的时候,首先会让我们输入登录密码,这个密码就是你在安装数据库的时候自己定义的密码。

3,查看所有的数据库列表:

showdatabases;

4,创建一个数据库,这里的创建和sql server中相同,但是,和oracle中创建的方式不同。语句如下:

create database mydata;

个人感觉,mysql的编码风格和sql server编码的风格相似,但是,和oracle有很大的区别。

5,使用创建的database。

use mydata;

只有使用了当前创建的database,才可以在次database上创建表或者其他的。不然,系统不知道你在哪个数据库中创建表。

6,查看当前database下的表结构:

show tables;

7,例子:创建一个User(用户表);

字段:用户的编号,用户的姓名,用户的密码

create tableuser

(

id int,

namevarchar(20),

passwordvarchar(20)

);

8,插入测试数据

insert intouser values (1,’zhangsan’,’123’);

insert intouser values (2,’lisi,’123’);

在这里要特别注意字符编码的问题,在cmd的窗口下,不支持直接输入中文字符,如果插入中文字符,一定会插入不进去。所有,在输入中文字符前

输入:set names gbk;将字符编码转换成gbk形式。

9,删除一条信息:

delete fromuser where id=2;

10,更新一条语句:

update userset name=’admin ’ where id=2;

11,查询所有的用户信息:

select id,name,passwordfrom user;

MYSQL的常用命令和增删改查语句

2014-10-28 10:29:13

标签:mysql 常用命令

连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码]

创建数据库:create database [库名]

显示所有数据库: show databases;

打开数据库:use [库名]

当前选择的库状态:SELECT DATABASE();

创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求]) [字段参数], ......);

显示数据表字段:describe 表名;

当前库数据表结构:show tables;

更改表格

ALTER TABLE [表名] ADD COLUMN [字段名] DATATYPE

说明:增加一个栏位(没有删除某个栏位的语法。

ALTER TABLE [表名] ADD PRIMARY KEY ([字段名])

说明:更改表得的定义把某个栏位设为主键。

ALTER TABLE [表名] DROP PRIMARY KEY ([字段名])

说明:把主键的定义删除。

显示当前表字段:show columns from tablename;

删库:drop database [库名];

删表:drop table [表名];

数据操作

添加:INSERT INTO [表名] VALUES('','',......顺序排列的数据);

查询: SELECT * FROM [表名] WHERE ([条件]);

建立索引:CREATE INDEX [索引文件名] ON [表名] ([字段名]);

删除:DELETE FROM [表名] WHERE ([条件]);

修改:UPDATE [表名] SET [修改内容如name = 'Mary'] WHERE [条件];

导入外部数据文本:

1.执行外部的sql脚本

当前数据库上执行:mysql < input.sql

指定数据库上执行:mysql [表名] < input.sql

2.数据传入命令 load data local infile "[文件名]" into table [表名]; 备份数据库:(dos下)

mysqldump --opt school>school.bbb

提示:常用MySQL命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库一. 增删改查操作

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

1. 增:

insert into 表名 values(0,'测试');

注:如上语句,表结构中有自动增长的列,也必须为其指定一个值,通常为0

insert into 表名(id,name) values(0,'尹当')--同上

2.删数据:

delete from 表名;

delete from 表名 where id=1;

删除结构:

删数据库:drop database 数据库名;

删除表:drop table 表名;

删除表中的列:alter table 表名 drop column 列名;

3. 改:

修改所有:updata 表名 set 列名='新的值,非数字加单引号' ;

带条件的修改:updata 表名 set 列名='新的值,非数字加单引号' where id=6;

4.查:

查询所有的数据:select *from 表名;

带条件的查询:

select *from 表名 where 列名=条件值;

Select * from 表名 where 列名 not like(like) '字符值'

分页查询:select *from 表名 limit 每页数量 offset 偏移量;

二.操作命令

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

1. 查看数据库信息:show databases;

2.查看表信息:show tables;

3.查看表的结构:desc 表名

4. 新建数据库:create database 数据库名;

5.操作指定数据库:use 数据库名;

6.新建数据表(先use 操作库);

create table 表名(规范为tbl_表名)

(

id int auto_increment primary key,( auto_increment为自动增长)

name varchar(20) primary key

)ENGINE=InnoDB DEFAULT CHARSET=gbk//支持事务和设置表的编码

6.2添加主外键:

alter table 外表名add constraint FK_名称 foreign key(外列) references 主表名(主列)

如现有两表主表tbl_order 子表tbl_orderdetail 现子表tbl_orderdetail的oid 列引用了主表tbl_order的oid列

则命令如下:

alter table tbl_orderdetail add constraint FK_oid foreign key(oid) references tbl_order(oid)

7.导出表,备份到一个文件中,如.txt,.doc

cmd命令窗口:mysqldump -u 用户名-p 需要备份的数据库名 >备份的文件的保存路径和文件名

注:如指定的文件不存在,mysql会自动添加一个文件,此命令不能加分号结尾(文件没有备份建数据库操作)

8.导入数据库备份文件:

(1).在mysql命令窗口

(2).新建一个要导入的数据库(因为备份中没有备份建数据库操作)

(3).use 当前库名

(4).source 备份的文件的保存路径和文件名(此命令不能加分号结尾)

三:系统操作

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

1. 打开服务:net start mysql(mysql为配置时,可自定名称)

2.关闭服务:net stop mysql

3.从cmd 模式进入mysql

(1).mysql -u 用户名 -p 回车>输入正确密码>进入欢迎

(2).mysql -h IP(本机localhost) -u 用户名 -p 回车>输入正确密码>进入欢迎

3.退出:exit/quit;

4.修改用户密码:mysqladmin -u 用户名 -p password 新密码

5.处理中文乱码:

(1).在D:/MySQL /MySQL Server 5.0/data的操作数据为文件中查看是否为以下:

default-character-set=gbk

default-collation=gbk_chinese_ci

(2).查看安装文件默认编码:D:/MySQL/MySQL Server

5.0>my>default-character-set=gbk

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

启动:net start mySql;

进入:mysql -u root -p/mysql -h localhost -u root -p databaseName;

列出数据库:show databases;

选择数据库:use databaseName;

列出表格:show tables;

显示表格列的属性:show columns from tableName;

建立数据库:source fileName.txt;

匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串;

增加一个字段:alter table tabelName add column fieldName dateType;

增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;

多行命令输入:注意不能将单词断开;当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中;

增加一个管理员帐户:grant all on *.* to user@localhost identified by "password";

每条语句输入完毕后要在末尾填加分号';',或者填加'/g'也可以;

查询时间:select now();

查询当前用户:select user();

查询数据库版本:select version();

查询当前使用的数据库:select database();

1、删除student_course数据库中的students数据表:

rm -f student_course/students.*

2、备份数据库:(将数据库test备份)

mysqldump -u root -p test>c:/test.txt

备份表格:(备份test数据库下的mytable表格) mysqldump -u root -p test mytable>c:/test.txt

将备份数据导入到数据库:(导回test数据库)

mysql -u root -p test

3、创建临时表:(建立临时表zengchao)

create temporary table zengchao(name varchar(10));

4、创建表是先判断表是否存在

create table if not exists students(……);

5、从已经有的表中复制表的结构

create table table2 select * from table1 where 1<>1;

6、复制表

create table table2 select * from table1;

7、对表重新命名

alter table table1 rename as table2;

8、修改列的类型

alter table table1 modify id int unsigned;//修改列id的类型为int unsigned

alter table table1 change id sid int unsigned;//修改列id的名字为sid,而且把属性修改为int unsigned

9、创建索引

alter table table1 add index ind_id (id);

create index ind_id on table1 (id);

create unique index ind_id on table1 (id);//建立唯一性索引

10、删除索引

drop index idx_id on table1;

alter table table1 drop index ind_id;

11、联合字符或者多个列(将列id与":"和列name和"="连接)

select concat(id,':',name,'=') from students;

12、limit(选出10到20条)<第一个记录集的编号是0>

select * from students order by id limit 9,10;

13、MySQL不支持的功能

事务,视图,外键和引用完整性,存储过程和触发器

14、MySQL会使用索引的操作符号

<,<=,>=,>,=,between,in,不带%或者_开头的like

15、使用索引的缺点

1)减慢增删改数据的速度;

2)占用磁盘空间;

3)增加查询优化器的负担;

当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案;

16、分析索引效率

方法:在一般的SQL语句前加上explain;

分析结果的含义:

1)table:表名;

2)type:连接的类型,(ALL/Range/Ref)。其中ref是最理想的;

3)possible_keys:查询可以利用的索引名;

4)key:实际使用的索引;

5)key_len:索引中被使用部分的长度(字节);

6)ref:显示列名字或者"const"(不明白什么意思);

7)rows:显示MySQL认为在找到正确结果之前必须扫描的行数;

8)extra:MySQL的建议;

17、使用较短的定长列

1)尽可能使用较短的数据类型;

2)尽可能使用定长数据类型;

a)用char代替varchar,固定长度的数据处理比变长的快些;

b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能;

c)万一出现数据表崩溃,使用固定长度数据行的表更容易重新构造。使用固定长度的数据行,每个记录的开始位置都是固定记录

长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了;

d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大;

18、使用not null和enum

尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null

值,从而优化查询;

如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处

理的更快,因为所有的enum值在系统内都是以标识数值来表示的;

19、使用optimize table

对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。具有可变长的表都存在磁盘碎片问

题,这个问题对blob数据类型更为突出,因为其尺寸变化非常大。可以通过使用optimize table来整理碎片,保证数据库性能不下

降,优化那些受碎片影响的数据表。 optimize table可以用于MyISAM和BDB类型的数据表。实际上任何碎片整理方法都是用

mysqldump来转存数据表,然后使用转存后的文件并重新建数据表;

20、使用procedure analyse()

可以使用procedure analyse()显示最佳类型的建议,使用很简单,在select语句后面加上procedure analyse()就可以了;例如:

select * from students procedure analyse();

select * from students procedure analyse(16,256);

第二条语句要求procedure analyse()不要建议含有多于16个值,或者含有多于256字节的enum类型,如果没有限制,输出可能会很

长;

21、使用查询缓存

1)查询缓存的工作方式:

第一次执行某条select语句时,服务器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中返

回结果;当更新数据表后,该数据表的任何缓存查询都变成无效的,并且会被丢弃。2)配置缓存参数:

变量:query_cache _type,查询缓存的操作模式。有3中模式,0:不缓存;1:缓存查询,除非与 select sql_no_cache开头;2

:根据需要只缓存那些以select sql_cache开头的查询; query_cache_size:设置查询缓存的最大结果集的大小,比这个值大的

不会被缓存。

22、调整硬件

1)在机器上装更多的内存;

2)增加更快的硬盘以减少I/O等待时间;

寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快;

3)在不同的物理硬盘设备上重新分配磁盘活动;

如果可能,应将最繁忙的数据库存放在不同的物理设备上,这跟使用同一物理设备的不同分区是不同的,因为它们将争用相同的物理资源(磁头)。

一、连接MYSQL。

格式: mysql -h主机地址 -u用户名-p用户密码

1、例1:连接到本机上的MYSQL。

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为 root,密码为abcd123。则键入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123

(注:u与root可以不用加空格,其它也一样)

3、退出MYSQL命令: exit (回车)

二、修改密码。

格式:mysqladmin -u用户名 -p旧密码 password 新密码

1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令

mysqladmin -uroot -password ab12

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2、例2:再将root的密码改为djg345。

mysqladmin -uroot -pab12 password djg345

三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

格式:grant select on 数据库.* to 用户名@登录主机 identified by /"密码/"

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以

root用户连入MYSQL,然后键入以下命令:

grant select,insert,update,delete on *.* to test1@/"%/" Identified by /"abc/";

但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数

据库并对你的数据可以为所欲为了,解决办法见例2。

例 2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(

localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从 internet上直接访问数

据库,只能通过MYSQL主机上的web页来访问了。

grant select,insert,update,delete on mydb.* to test2@localhost identified by /"abc/";

如果你不想test2有密码,可以再打一个命令将密码消掉。

grant select,insert,update,delete on mydb.* to test2@localhost identified by /"/";

在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到

MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。

一、操作技巧

1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的

命令分成几行来打,完后用分号作结束标志就OK。

2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql- 3.23.27-beta-win。

二、显示命令

1、显示数据库列表。

show databases;

刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库

进行操作。

2、显示库中的数据表:

use mysql;//打开库,学过FOXBASE的一定不会陌生吧

show tables;

3、显示数据表的结构:

describe 表名;

4、建库:

create database 库名;

5、建表:

use 库名;

create table 表名 (字段设定列表);

6、删库和删表:

drop database 库名;

drop table 表名;

7、将表中记录清空:

delete from 表名;

8、显示表中的记录:

select * from 表名;

三、一个建库和建表以及插入数据的实例

drop database if exists school; //如果存在SCHOOL则删除create database school; //建立库SCHOOL

use school; //打开库SCHOOL

create table teacher //建立表TEACHER

(

id int(3) auto_increment not null primary key,

name char(10) not null,

address varchar(50) default ’深圳’,

year date

数据库的增删改查(精)

学习收藏数据库增删改查 --查询信息系和计算机系的学生,并按学生所在系和学号排序。select sno,sname,Sdept from Student where Sdept='CS'OR Sdept='IS' order by Sdept,sno ASC --查询学生表中最小的年龄。 select MIN(sage from student --查询课程名中包含“数据”的课程名。 select cno,cname from course where Cname like'%数据%' --查询先行课程为空值的课程号、课程名及学分 select cno,cname,ccredit from Course where Cpno is null --查询李勇选修的数据库课程的成绩 select grade from SC where Sno=(select Sno from Student where Sname='李勇'and Cno=(select Cno from Course where cname='数据库' --查询平均成绩分以上的学生的学号 select distinct sno from SC scx where (select AVG(Grade from SC scy

where scy.sno=scx.Sno>85 --求计算机系没有选修数据库课程的学生姓名 select sname from Student where Sno not in(select Sno from SC where Cno in(select Cno from Course where Sname='数据库'and Sdept='IS' --求至少选修了学号为S1所选修的全部课程的学生学号 select distinct sno from SC scx where not exists(select*from SC scy where scy.Sno='20021522'and not exists(select* from sc scz where scz.sno=scx.sno and https://www.doczj.com/doc/f62050133.html,o=https://www.doczj.com/doc/f62050133.html,o --求各系的系的学生人数的,并将结果按学生人数的降序排序 select Sdept,COUNT(sno from Student group by Sdept order by Sdept ASC --查询选修了数学课程并且成绩高于该门课程平均分的学生学号和成绩 select sno,grade from SC scx where Grade>=(select AVG(Grade from SC scy where Cno=(select Cno from Course where Cname='数学'and Cno=(select Cno from Course

数据库增删改查基本语句

数据库增删改查基本语句 adoquery1.Fielddefs[1].Name; 字段名 dbgrid1.columns[0].width:=10; dbgrid的字段宽度 adoquery1.Fields[i].DataType=ftString 字段类型 update jb_spzl set kp_item_name=upper(kp_item_name) 修改数据库表中某一列为大写select * from master.dbo.sysobjects ,jm_https://www.doczj.com/doc/f62050133.html,ers 多库查询 adotable1.sort:='字段名称ASC' adotable排序 SQL常用语句一览 sp_password null,'新密码','sa' 修改数据库密码 (1)数据记录筛选: sql="select * from 数据表where 字段名=字段值orderby 字段名[desc] " sql="select * from 数据表where 字段名like '%字段值%' orderby 字段名[desc]" sql="select top10 * from 数据表where 字段名orderby 字段名[desc]" sql="select * from 数据表where 字段名in('值1','值2','值3')" sql="select * from 数据表where 字段名between 值1 and 值2" (2)更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2……字段n=值n where 条件表达式" (3)删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表"(将数据表所有记录删除) (4)添加数据记录: sql="insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…)" sql="insert into 目标数据表select * from 源数据表"(把源数据表的记录添加到目标数据表)

SQL语句增删改查

一、删:有2中方法 1.使用delete删除数据某些数据 语法:delete from <表名> [where <删除条件>] 例:delete from a where name='开心朋朋'(删除表a中列值为开心朋朋的行) 注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名 2.使用truncate table 删除整个表的数据 语法:truncate table <表名> 例:truncate table tongxunlu 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用语有外建约束引用的表 二、改 使用update更新修改数据 语法:update <表名> set <列名=更新值> [where <更新条件>] 例:update tongxunlu set 年龄=18 where 姓名='蓝色小名' 注意:set后面可以紧随多个数据列的更新值;where子句是可选的,用来限制条件,如果不选则整个表的所有行都被更新 四、查 1.普通查询 语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列名>[asc或desc]] 1).查询所有数据行和列 例:select * from a 说明:查询a表中所有行和列 2).查询部分行列--条件查询 例:select i,j,k from a where f=5 说明:查询表a中f=5的所有行,并显示i,j,k3列 3).在查询中使用AS更改列名 例:select name as 姓名from a whrer xingbie='男' 说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示 4).查询空行 例:select name from a where email is null 说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null来判断是否为空行 5).在查询中使用常量 例:select name '唐山' as 地址 from a 说明:查询表a,显示name列,并添加地址列,其列值都为'唐山' 6).查询返回限制行数(关键字:top percent) 例1:select top 6 name from a 说明:查询表a,显示列name的前6行,top为关键字 例2:select top 60 percent name from a 说明:查询表a,显示列name的60%,percent为关键字 7).查询排序(关键字:order by , asc , desc)

SQL数据库中的增删改查总结1

一、增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert into Strdents (姓名,性别,出生日期) values ('邢金聪','男','1990/6/15') 注意:如果省略表名,将依次插入所有列 2.使用insert,select语句将现有表中的数据添加到已有的新表中 语法:insert into <已有的新表> <列名> select <原表列名> from <原表名> 例:insert into addressList ('姓名','地址','电子邮件')selectname,address,email from Strdents 注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致 二、删:有2中方法 1.使用delete删除数据某些数据 语法:delete from <表名> [where <删除条件>] 例:delete from awhere name='邢金聪'(删除表a中列值为邢金聪的行) 注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名 2.使用truncate table 删除整个表的数据

语法:truncate table<表名> 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 三、改 使用update更新修改数据 语法:update <表名> set <列名=更新值> [where <更新条件>] 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 四、查 1.普通查询 语法:select <列名> from <表名> [where <查询条件表达试>] [order by<排序的列 名>[asc或desc]] 1).查询所有数据行和列 例:select * from a 说明:查询a表中所有行和 2).查询部分行列--条件查询 例:select i,j,kfrom a where f=5 说明:查询表a中f=5的所有行,并显示i,j,k3列

数据库基本知识(自己整理,初学者可以看一下,基于某MySql)

数据库

1常见数据库 1.1MySql : 甲骨文 1.2Oracle: 甲骨文 1.3SQL Server: 微软 1.4Sybase: 赛尔斯 1.5DB2: IBM 2MySql基础知识 2.1关系结构数据模型数据库 2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等 操作数据库 CREATE DATABASE [IF NOT EXISTS]mydb1 USE mydb1 DROP DATABASE [IF NOT EXISTS] mydb1

ALTER DATABASE mydb1 CHARACTER SET utf8 操作表 插入表 CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) ); 更改表 ALTER TABLE t_user ADD (student varcher(20)) ALTER TABLE t_user MODIFY gender CHAR(20) ALTER TABLE t_user CHANGE gender VARCHER(20) ALTER TABLE t_user REMANE genderTO genders ALTER TABLE t_user DROP gender 删除表 DROP TABLE t_user 2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) 插入数据 INSERT INTO t_user VALUES() INSERT INTO 表名 VALUES(值1,值2,…)

mysql增删改查基本语句

mysql 增、删、改、查基本语句 数据库的链接和选择及编码 $link=mysql_connect("localhost","root","123456") or die("数据库连接失败".mysql_error()); $sel=mysql_select_db("login",$link) or die("数据库选择失败".mysql_error()); mysql_query("set names 'utf8'"); 添加数据 $link=mysql_connect("localhost","root","123456") or die("数据库连接失败".mysql_error()); $sel=mysql_select_db("login",$link) or die("数据库选择失败".mysql_error()); mysql_query("set names 'utf8'",$sel); $add="insert into title(title,content,username,time) values('$title','$content','$username',$time)"; $query=mysql_query($add); if($query){ echo "add sucess"; echo ""; } else echo "add false"; 删除数据 $link=mysql_connect("localhost","root","123456") or die("数据库连接失败".mysql_error()); $sel=mysql_select_db("login",$link) or die("数据库选择失败".mysql_error()); mysql_query("set names 'utf8'"); $id=$_GET['id']; $delete="delete from title where id='$id'"; $query=mysql_query($delete); if($query){ echo "delete sucess!"; echo ""; } else echo "delete false"; 改数据 $link=mysql_connect("localhost","root","123456") or die("数据库连接失败".mysql_error()); $sel=mysql_select_db("login",$link) or die("数据库选择失败".mysql_error()); mysql_query("set names 'utf8'",$sel);

JAVA数据库基本操作增删改查(精)

JAVA 数据库基本操作, 增删改查 package mypack; JAVA 数据库基本操作, 增删改查 import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; public class DbOper {//查询多行记录public ArrayList select({Connection conn =null; ResultSet rs =null; try {import java.sql.PreparedStatement; import java.sql.SQLException; PreparedStatement pstmt =null; ArrayList al =new ArrayList(; conn =DbConn.getConn(;pstmt =conn.prepareStatement(“select *from titles ”; rs =pstmt.executeQuery(;while (rs.next({Titles t =new Titles(;t.setTitleid(rs.getString(1;t.setTitle(rs.getString(2;al.add(t;}}catch (SQLExceptione { e.printStackTrace(;}finally {try {//TODO 自动生成catch 块if (rs!=null rs.close(;if (pstmt!=nullpstmt.close(;if (conn!=nullconn.close(;}catch (SQLExceptione { e.printStackTrace(;}}//TODO 自动生成catch 块 return al; }//查询单个对象public Titles selectOne(Stringtitleid{Connection conn =null; ResultSet rs =null; try {PreparedStatement pstmt =null; Titles t =new Titles(;

数据库增删改查

02.连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 03.创建数据库:create database [库名] 04.显示所有数据库: show databases; 05.打开数据库:use [库名] 06.当前选择的库状态:SELECT DATABASE(); 07.创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求]) [字段参数], ......); 08.显示数据表字段:describe 表名; 09.当前库数据表结构:show tables; 10.更改表格 11. ALTER TABLE [表名] ADD COLUMN [字段名] DATATYPE 12. 说明:增加一个栏位(没有删除某个栏位的语法。 13. ALTER TABLE [表名] ADD PRIMARY KEY ([字段名]) 14. 说明:更改表得的定义把某个栏位设为主键。 15. ALTER TABLE [表名] DROP PRIMARY KEY ([字段名]) 16. 说明:把主键的定义删除。 17.显示当前表字段:show columns from tablename; 18.删库:drop database [库名]; 19.删表:drop table [表名]; 20.数据操作 21.添加:INSERT INTO [表名] VALUES('','',......顺序排列的数据); 22.查询: SELECT * FROM [表名] WHERE ([条件]); 23.建立索引:CREATE INDEX [索引文件名] ON [表名] ([字段名]); 24.删除:DELETE FROM [表名] WHERE ([条件]); 25.修改:UPDATE [表名] SET [修改内容如name = 'Mary'] WHERE [条件]; 26. 27.导入外部数据文本: 28.1.执行外部的sql脚本 29.当前数据库上执行:mysql < input.sql 30.指定数据库上执行:mysql [表名] < input.sql 31.2.数据传入命令load data local infile "[文件名]" into table [表名]; 32.备份数据库:(dos下) 33.mysqldump --opt school>school.bbb 34. 35. 36. 37.提示:常用MySQL命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 38.一. 增删改查操作 39. 40.============================================================================ ===== 41.1. 增: 42.insert into 表名values(0,'测试'); 43.注:如上语句,表结构中有自动增长的列,也必须为其指定一个值,通常为0 44.insert into 表名(id,name) values(0,'尹当')--同上

SQL常用增删改查语句

SQLSQL常用增删改查语句 作者:hiker 一.Insert 插入语句 1.Insert into 表名(列名)values (对应列名值) //插入一行. 2.Insert into 新表名(列名) Select (列名) 旧表名 3.Select 旧表名.字段… Into 新表名from 旧表名 4.Select identity ( 数据类型,标识种子,标识增长量) as 列名 Into新表名 From 旧表名 5.Insert 表名(列名) Select (对应列名值) union Select (对应列名值) union Select (对应列名值) 二.Update 更新语句 1.Update 表名set 列名=’更新值’ where 更新条件 三.delete 删除语句 1.delete from 表名where 删除条件 2.truncate table 表名//删除表中所有行 四.select 基本查询语句 1.select 列名from 表名where 查询条件 order by 排序的列名asc或desc升/降 2.select 列名as 别名from 表名where 查询条件 3.select 列名from 表名where 列名is null //查询空值 4.select 列名, ‘常量值’ as 别名from 表名//查询时定义输出一列常量值 5.select top 5 列名from 表名//查询前5行 6.select top 5 percent 列名from 表名//查询前百分之5的数据行 五.select 函数查询语句 1.select LEN(Class_Name)from Class //查询class_Name字符串长度 2.select upper(Class_Name)from Class //查询class_Name并转换为大写 3.ltrim和rtrim //清除字符串左右空格 4.select REPLACE(card_No,'0','9')from CardRecord//修改列中字符串中的字符 列名字符串中0修改为9 5.select STUFF(Card_No,2,3,'8888')from CardRecord 列名字符串中第2个开始删除3个字符,再从第二个开始插入8888字符串 6.select GETDATE()//显示系统日期

数据库增删改查操作(2)(精)

数据库增删改查操作(2) 一、案例描述 程序运行的时候加载的界面如图1,包括添加、删除、修改和查询所有数据按钮,并实现相应功能。 图1 图2 单击“添加”按钮,插入一条记录,效果如图2;单击“查询全部”按钮,查询得到全部记录,并将结果打印出来,如图3;单击“删除”按钮,删除指定记录,如图4;单击“修改”按钮,修改指定记录,如图5。 图3

图4 图5 二、知识链接 (4)ContentValues类 ● ContentValues类和Hashtable类较为相似,它用于存储一些键值对,可以被ContentResolver类处理,但是它存储的键值对当中的键是一个String类型,而值都是基本类型。ContentValues类作为一个重要的参数在SQLiteDatabase中的insert,update等方法中使用。 ● ContentValues类有3种构造方法,格式分别如下: √ ContentValues(:使用默认的初始大小来创建一个空集。 √ ContentValues(int size):使用指定的初始大小size值来创建一个空集。 √ ContentValues(ContentValues from):复制给定的集合from,用于创建一组集合数值。 ● ContentValues类的常用方法介绍如下:

√ void clear(:清空集合中的所有数值。 √ boolean containsKey(String key):如果集合中包含了指定的关键字key,则返回true,否则返回false。 √ Object get(String key):返回关键字key对应的数值,返回数值类型为Object,通常还需要进行强制类型转换。 √ void put(String key,Integer value):将一个值加入到集合中,其中参数key表示集合中的关键字;参数value表示要添加的数据。ContentValues类还有很多put方法,主要的区别是第二个参数为其他数据类型,例如:put(String key,Byte value)、put(String key,Float value)、put(String key,Short value)、put(String key,byte[] value) √ void remove(String key):将某个关键字key的数值从集合中删除。 √ int size (:返回集合中数值的个数。 三、案例实现 (1)MainActivity.java中添加数据的方法 /** * 添加一条记录 */ public void add(View view { Random random=new Random(; SQLiteDatabase db=personHelper.getWritableDatabase(; //db.execSQL("insert into info(name,phone values(?,?",new Object[]{"张三"+random.nextInt(100,"186********"}; ContentValues values=new ContentValues(; values.put("name", "张三"+random.nextInt(100; values.put("phone", "186775411"+random.nextInt(100;

(完整word版)SQL常用的增删改查语句、视屏笔记

SQL:结构化查询语言,是国际化标准组织采纳的标准数据库语言 作用:数据库管理员可以用利用次语言操作数据库系统,即:SQL是一种能够被数据库系统读懂的操作语言。 T—SQL是微软公司针对SQL Server这种关系数据库所定义的一种SQL语言,用户可以完成Server数据库中的所有操作。 SQL的分类: (1):数据定义语言,DDL 用来创建数据库和数据库中的各种对象 数据库中的对象包括:表、视图、索引、存储过程、触发器 DDL常用的命令包括:create、alter、drop (2):数据操纵语言,DML 可以完成对数据库中数据的查询、更新、删除、插入的功能 DML常用的命令包括:select、update、delete、insert (3)数据控制语言,DCL DCL常用的命令包括:grant、revoke、deny (4)数据类型 1、数字数据类型 a、整型数据类型:bigint、int、smallint、tinyint b、浮点数据类型:float、real c、固定精度数据类型:decimal、numeric d、货币数据类型:money、smallmoney 将数据格式转换成字符串方法:STR(ID);---ID为数据类型,STR(ID)为字符串 2、字符数据类型:varchar、char、text、nchar、nvarchar、ntext 区别char和varchar数据类型: char数据类型是存放固定长度的字符 Varchar数据类型是存放动态长度的字符 char(14),实际放入到数据库的字符长度为14个字符,如果实际存储的长度小于定义的长度,那么数据库会在次字符串后面加上3个空格 1、insert语句: insert语句是属于SQL语言中的DML 作用:为表插入数据 你向一个表中插入一条新记录,但有一个字段没有提供数据。在这种情况下,有下面的四种可能: 1、如果该字段有一个缺省值(默认值),该值会被使用。 2、如果该字段可以接受空值,而且没有缺省值,则会被插入空值。 3、如果该字段不能接受空值,而且没有缺省值,就会出现错误。你会收到错误信息: The column in table mytable may not be null. 4、如果该字段是一个标识字段,那么它会自动产生一个新值。当你向一个有标识字段的表中插入新记录时,只要忽略该字段,标识字段会给自己赋一个新值。 使用INSERT语句可向文本型字段中插入数据。但是,如果你需要输入很长的字符串,你应该使用WRITETEXT语句。 语法:insert into 表名(列名1,列名2,…..) values(值1,值2,….) 注意:(列名1,列名2,…..)可以不写,这样的话,插入的values(值1,值2,….)中的值必须包含表中的所有列,不然会报错。

数据库语句增删改查

mysql语句用法,添加、修改、删除字段一,连接MySQL 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 五,后记 一,连接MySQL 格式:mysql -h 远程主机地址 -u 用户名 -p 回车 输入密码进入: mysql -u root -p 回车 Enter password: ,输入密码就可以进入 mysql> 进入了 退出命令:>exit 或者ctrl+D 二,MySQL管理与授权 1.修改密码:

格式:mysqladmin -u 用户名 -p 旧密码 password 新密码 2.增加新用户: >grant create,select,update....(授予相关的操作权限) ->on 数据库.* -> to 用户名@登录主机 identified by '密码' 操作实例: 给root用户添加密码: # mysqladmin -u root password 52netseek 因为开始root没有密码,所以-p旧密码一项可以省略. 登陆测试: # mysql -u root -p 回车 输入密码,成功登陆. 将原有的mysql管理登陆密码52netseek改为52china. # mysqladmin -u root -p 52netseek password '52china' 创建数据库添加用户并授予相应的权限: mysql> create database phpbb; Query OK, 1 row affected (0.02 sec)

mysql> use phpbb; Database changed mysql> grant create,select,update,insert,delete,alter -> on phpbb.* -> to phpbbroot@localhost identified by '52netseek'; Query OK, 0 rows affected (0.00 sec) 授予所有的权限: >grant all privileges >on bbs.* >to bbsroot@localhost identified by '52netseek' 回收权限: revoke create,select,update,insert,delete,alter on phpbb.* from phpbbroot@localhost identified by '52netseek'; 完全将phpbbroot这个用户删除: >use mysql >delete from user where user='phpbbroot' and host='localhost'; >flush privileges; 刷新数据库 三,数据库简单操作

Mysql数据库·增删改查

Mysql Oracle(甲骨文) 大型数据库 MySql 中小型数据库 DB2 SqlServer ..... Mysql的发展: 瑞典的Mysql AB公司 2008年Sun公司(JAVA) 2009年Oracle 收购sun公司 IBM 69亿美元sun Eclipse(日蚀) Oracle 74亿美元sun Mysql的简单使用: 1.登陆mysql数据库 win+r --->cmd mysql -uroot -p1234 修改密码:mysql> set password for rootlocalhost = password('1234'); 此处可能存在异常情况原因:a、未配置环境变量b、Mysql服务未开启(net start mysql) 2.对库的操作 a.查看所有的库 show databases; 系统自带库: information_schema mysql test b.创建库 create database day01;(不指定编码,跟随数据库系统编码) create database db1 default character set gbk;(指定编码) 查看创建库的语句: show create database 库名. 修改库的编码: alter database day01 default character set utf8; c.删除库 drop database 库名.

drop database day01; 注意: 系统自带的三个库不能删除. d.使用库 use db1; 3.对表的操作 表:二维关系表有行有列的关系表. 记录:表中的一行数据. 字段:表中的一列. 常用的字段类型: 字符串类型: varchar(长度) 、char 数值类型: int(整数) float double(小数) 日期类型: date a.创建表 员工表:员工号性别年龄职位薪水入职日期 create table emp( empno varchar(4), name varchar(30), sex varchar(5), age int(3), job varchar(30), salary int(5), hiredate date ); b.查看所有的表 show tables; c.查看建表语句 show create table 表名. d.查看表结构 desc 表名. e.往表中插入数据 e1.给表中所有的字段插入数据 insert into emp (empno,name,sex,age,job,salary,hiredate) values ('1001','zhangsan','m',22,'developer',10000,'2015-12-21'); 简写形式: insert into emp values ('1002','lisi','m',23,'test',8000,'2015-10-10'); e2.给表中部分字段插入数据 insert into emp(empno,name,sex,age) values ('1003','cuihua','w',18);

SQL单词及数据库增删改查

数据库(Database, DB) 数据库管理系统(Database Management System, DBMS) 数据库管理员(Database Administrator, DBA) 数据库系统(Database System, DBS) SQL:结构化查询语言(structured Query Language)DB: 数据库(database) DBA:数据库管理员(database administrator)DBMS:数据库管理系统(database management system) Toa d:癞蛤蟆,一款开发数据库的可视化软件 Roo t: 根 Re la tion shi p:关系 U ser:用户 Ta ble:表 P ro ce dure:存储过程 Fun c tion:函数 Tri gger:触发器 Vie w:视图 In de x:索引 C rea te:创建 Dro p:删除 Ta ble:表 En gine:引擎 Co lu mn:列 P ri ma ry:主要的 Primary key:主键 Na me:列名 Au to:自动的 In cre men t:可增长的 Au to_In cre men t: 自动增长 Da ta Ty pe:数据类型 Not null:非空 Co mmen t:注释 Cha ra c ter se t:字符集 Co lle c tion:采集(对比方法) Fo reig n:外部的

Fo reig n key:外键 SQL 数据化查询语言 DML数据操作语言(Data Manipulation Language)DCL数据控制语言(Data Control Language)DQL: 数据查询语言(Data Query Language)DDL: 数据定义语言(Data Definition Language) in ser t:插入(增) de le te:删除(删) up da te:修改(改) se le c t:查询(查) in to:到哪里。。。 fro m:从哪里来。。。 va lue:值 u nio n:拼接 wh ere:在。。。。。 se t:设置 trun ca te:截断 im por t:导入 ex por t:导出 Or der:顺序 Or der by:排序 Re p la ce:替换 Now:现在 Cei ling:天花板 F loo r:地板 Si gn:符号 Con ver t:转换 Di s tin c t:独特的(去重复的) Li mi t:限制 li ke:像。。。一样 be t wee n 。。。and:在。。。。和。。。。之间 su m:和 avg:平均值

sql与mysql可视化增删改查

MYSQL与SQL可视化增,删,改 1.建立表格: 属性: public JTable table; public DefaultTableModel dftm; public String[] columnNames= new String[] { "序号", "用户名", "密码"}; // 定义数组表示表格标题 dftm = new DefaultTableModel(null, columnNames); /*for (int i = 0; i < 10; i++) { Object[] content = { 1, 2, 3 }; dftm.addRow(content);// 增加行 }*/ initTable(dftm); JTable table = new JTable(dftm);// 根据TableModel显示内容 JScrollPane src = new JScrollPane(table); //给表格增加滚动条 src.setBounds(50, 150, 500, 200); //设置滚动条位置与大小 contentPane.add(src); 2.“修改用户”按钮的代码: JButton rewamp = new JButton("\u4FEE\u6539\u7528\u6237"); rewamp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int id=Integer.parseInt(txtId.getText()); String name=txtName.getText();//取得用户名文本框的值 String pwd=txtPwd.getText();//取得用户密码文本框的值 String sqlUpdate="UPDATE userlist set name='" + name+"', password='"+pwd+"' where Id="+id; DBComm dbco=new DBComm(); dbco.openConnection(); try { dbco.executeUpdate(sqlUpdate);

简单的连接数据库增删改查(1)

package com.suqin.Tank2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Vector; import javax.swing.JScrollPane; import javax.swing.table.AbstractTableModel; public class Mxstu extends AbstractTableModel { // 集合 Vector rowDate, columnnNames; // 连接数据库 Connection conn; // 执行sql 语句 PreparedStatement pst; // 集合级 ResultSet rs;

// 驱动程序 public String Driver = "com.mysql.jdbc.Driver"; // 连接地址mysql数据库名称public String Url = "jdbc:mysql://127.0.0.1:3306/mysql"; // 用户名 public String name = "root"; // 用户密码 public String password = "admin"; //sql语句 String sql; public void Showsql(String sql) { if (sql=="") { sql="select * from students"; } columnnNames = new Vector(); // 设置列 columnnNames.add("学号"); columnnNames.add("姓名"); columnnNames.add("性别"); columnnNames.add("年龄"); columnnNames.add("籍贯"); columnnNames.add("系别"); // 设置行内容 rowDate = new Vector(); // 夹在驱动程序 try { Class.forName(Driver); conn = DriverManager.getConnection(Url, name, password); // 执行语句 //sql = ("select * from students"); pst = conn.prepareStatement(sql); // 得到结果集合 rs = pst.executeQuery(); // 得到记录 while (rs.next()) { // 设置行 Vector hang = new Vector(); hang.add(rs.getInt(1)); hang.add(rs.getString(2)); hang.add(rs.getString(3)); hang.add(rs.getInt(4)); hang.add(rs.getString(5));

相关主题
文本预览
相关文档 最新文档