当前位置:文档之家› Mysql基本操作

Mysql基本操作

Mysql基本操作
Mysql基本操作

1.Mysql基本操作

1.1修改管理员的密码

1)Mysql刚安装好后无密码,使用”mysqladmin–uroot password 密码”修改管理员密

2)以管理员身份登录数据库,使用”mysql–u root”

3)原来有密码,现在要修改,使用”mysqladmin–uroot–p旧密码 password 新密码”

1.2用户的创建、删除、授权与撤权

Mysql安装好后,默认有两个数据库(mysql和test),而且除了root用户外,其他用户只能访问test数据库。

Mysql中设置了5个授权表(user/db/host/tables_priv/columnts_priv)。

1)创建新用户,方法如下:

A.mysql–u root –p #以管理员身份登录

B.insert into https://www.doczj.com/doc/2d16281779.html,er(host,user,password)

values(‘%’,’guest’,password(‘guest’));#创建一个用户名为guest的用

C.flush privileges;#重载授权表

2)删除用户,方法如下:

A.mysql–u root –p #以管理员身份登录

B.delete from https://www.doczj.com/doc/2d16281779.html,er where user=’guest’;

C.flush privileges;

3)更改用户密码,方法如下:

A.mysql–u root –p #以管理员身份登录

B.update https://www.doczj.com/doc/2d16281779.html,er set password=password(‘123’) where user=’guest’;

C.flush privileges;

4)用户授权,方法如下:

格式:GRANT 权限列表[(字段列表)] ON 数据库名称.表名 TO 用户名@域名或IP地址[IDENTIFIED BY ‘密码值’] [WITH GRANT OPTION];

常用权限如下:

全局管理权限:

FILE: 在MySQL服务器上读写文件。

PROCESS: 显示或杀死属于其它用户的服务线程。

RELOAD: 重载访问控制表,刷新日志等。

SHUTDOWN: 关闭MySQL服务。

数据库/数据表/数据列权限:

Alter: 修改已存在的数据表(例如增加/删除列)和索引。

Create: 建立新的数据库或数据表。

Delete: 删除表的记录。

Drop: 删除数据表或数据库。

INDEX: 建立或删除索引。

Insert: 增加表的记录。

Select: 显示/搜索表的记录。

Update: 修改表中已存在的记录。

特别的权限:

ALL: 允许做任何事(和root一样)。

USAGE: 只允许登录--其它什么也不允许做。

例一:要授权给用户guest可以从任意主机连接到数据库服务器,并具有完全访问学生选课数据库xsxk的权限。

grant all on xsxk.* to guest@’%’ identified by ‘guest’;

说明:

A.%表示从任何主机连接到数据库服务器,也可以用空白

B.%https://www.doczj.com/doc/2d16281779.html, 表示从https://www.doczj.com/doc/2d16281779.html,域中的任何主机连接到数据库服务器

C.192.168.85.% 表示从192.168.85.0子网中任何主机连接到数据库服务器

D.localhost 表示从本地主机连接

E.192.168.85.242 表示从IP为192.168.85.242的主机连接

例二:新建一个用户tom,让他能从子网192.168.85.0中任何主机连接到数据库服务器,可以读取数据库xsxk的内容,并且能修改表course中字段teacher的值。

grant select on xsxk.* to tom@’192.168.85.%’ identified by ‘123’;

grant update(teacher) on xsxk.course to tom@’192.168.85.%’;

例三:mysql管理员要授权用户admin可以从本地连接到数据库服务器,对学生选课数据库xsxk具有完全访问权限,并可将其拥有的权限授予其他用户

grant all on xsxk.* to admin@localhost identified by ‘123’ with grant option;

5)用户撤权,方法如下:

格式:REVOKE 权限列表[(字段列表)] ON 数据库名.表名 FROM 用户名@域名或IP地址;

例:mysql管理员要撤销用户admin@localhost对数据库xsxk所拥有的创建删除数据库与表的权限,并撤销该用户可以把自己拥有的权限授予其他用户的权限。

revokecreate,drop on xsxk.* from admin@localhost;

revoke grant option on xsxk.* from admin@localhost;

1.3数据库的创建与删除

1)创建数据库:create database 数据库名;

2)查看数据库:show databases;

3)选择数据库:use 数据库名;

4)删除数据库:drop database 数据库名;

1.4表操作

1.4.1基本操作

1)创建表

格式:create table 表名(字段1,…字段n,[表级约束]) [Type=表类型];

注:

A.字段i(i=1,…n)格式为:

字段名字段类型 [字段约束]

说明一:字段类型,规定了某字段所允许输入的数据类型

类型描述

int 允许值在0至2的32次方减1(无符号)之间

标准整数

double 双精度浮点数

char 最大长度不超过255字符定长字符串varchar 最大长度不超过255字符变长字符串

text 最大长度为65535字符字符串

blob 可变数据的二进制类型

date YYYYMMDD格式日期类型

说明二:字段约束,用来进一步对某个字段所允许输入的数据进行约束,常用的字段约束如下:

约束描述

NULL(或NOT NULL)指定允许(或不允许)某字段为空,默认为

NULL

DEFAULT 为某字段指定一个默认值

AUTO_INCREMENT 自动为某个INT字段生成一个递增1的整数

B.表级约束:用于表示表的主键、外键、索引和唯一约束。

约束描述

Primary key 为表指定主键

Foreign key ……References 为表指定外键

Unique 为某字段创建索引,此字段必须唯一

Fulltext 为某字段建立全文索引

C.表类型:用于指定表的类型,即数据的存储格式。

表类型描述

MyISAM 具有很多优化和增强的特性,是mysql默认

表类型

ISAM 类似于MyISAM,但功能较少

HEAP 保存在内存中,存取速度快,但存储容量小,

恢复难

BDB 支持事务和页锁定

INNODB 支持事务、外键和行级锁,是mysql中最完

善表格式

MERGE 可把多个MyISAM表构建为一个虚拟表,使得

这些表的查询就像在一个表上进行,提高查

询速度和修复效率,并节省了磁盘空间例:create table student(snovarchar(7) not null, snamevarchar(20) not null, ssex char(1) default ‘t’, sbirthday date, sdepa char(20), primary key(sno));

注:

a)建好后可通过describe命令查看表结构

b)系统会在/var/lib(or lib64)/mysql/xxkk目录下创建student.frm(表定

义文件)、student.MDY(数据文件)、student.MYI(索引文件)三个文件2)复制表

格式:create table 新表名 like 源表名;

3)删除表

格式:drop table 表名1[,表名2,…];

4)修改表

格式:alter table 表名更改动作1[,更改动作2,…];

A.增加表中字段

alter table student add saddressvarchar(25);

B.更改表字段名和字段类型

alter table student change saddressbeizhu text;

C.删除字段

alter table student drop beizhu;

D.更改名称

alter table student rename to xs;

1.4.2表记录操作

1)插入记录

格式:insert into 表名(字段1,字段2,…,字段n) values(字段1的值,字段2的值,…,字段n的值);

例1:要在表student中插入一组数据

insert into student(sno,sname,ssex,sbirthday,sdepa) values(‘1’,’lilei’,default,19850721,’math’);

例2:要插入与前一次操作相同的记录,可使用如下的缩写

insert into student values(‘1’,’lilei’,default,19850721,’math’);

例3:表中有默认字段,若取默认字段值,这时只需修改要修改的内容

insert into student(sno,sname,sbirthday) values(‘2’,’lucy’,19850613);

例4:在一个insert语句中使用多个values字句,可插入多条记录

insert into student values(‘3’,’hanmeimei’,’f’,19850203,’computer’),(‘4’,’lily’,f,1 9850613,’computer’);

2)删除记录

格式:delete from 表名 where 条件表达式

例1:删除表student中sno为’3’的记录

delete from student where sno=’3’;

例2:从表student中删除sname字段值前2位为’li’的记录

delete from student where left(sname,2)=’li’;

删除表中所有记录的方法:truncate table student;

3)修改记录

格式:update 表名 set 字段名1=字段值1[,字段名2=字段值2,…] where 条件表达式;

例:修改表student中sno为’1’的记录,将其sdepa字段值改为’computer’update student set sdepa=’computer’ where sno=’1’;

1.4.3索引的创建与删除

1)在创建表的同时创建索引

例:要创建一个选课课程表course,将课程编号cno设置为主键,同时为课程名称cname 创建名为cna的索引

create table course(cnovarchar(5) not null, cnamevarchar(30) not null, teacher varchar(20), primary key(cno), index can(cname));

2)向已存在的表添加索引(unique或index子句)

格式:create [unique] index 索引名 on 表名(字段名1[(长度)],…);

例1:为表student的sname创建名为sna的索引

create index sna on student(sname);

例2:为表student的sname创建名为sna的索引,且索引长度为10

create index sna on student(sname(10));

3)删除索引

格式:drop index 索引名 on 表名;

例:删除表student中索引名为sna的索引

drop index sna on student;

2.Mysql查询

Mysql的查询语句和SQL Server基本相同,不同之处包括以下几点:

1)获取前n个记录:SQL Server使用top n,位于select之后;mysql使用limit n,位于整

个查询语句之后

3.Mysql存储过程

存储过程是数据库存储的一个重要的功能,但是MySQL在5.0以前并不支持存储过程。

3.1存储过程定义

3.1.1格式

CREATE PROCEDURE过程名([过程参数[,...]])

[特性...]过程体

例子:

mysql> DELIMITER //

mysql> CREATE PROCEDURE proc1(OUT s int)

-> BEGIN

-> SELECT COUNT(*) INTO s FROM user;

-> END

-> //

mysql> DELIMITER ;

注:

A.这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,

因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储

过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用

DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代

码,不会执行这些代码,用完了之后要把分隔符还原。

B.存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,

类型是int型,如果有多个参数用","分割开。

C.如果过程体为多行,则它的开始与结束使用BEGIN与END进行标识。

3.1.2分割符

如果是用MySQL的Administrator管理工具时,可以直接创建,不再需要声明分割符。

3.1.3参数

MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:CREATE PROCEDURE([[IN |OUT |INOUT ]参数名数据类形...])

IN输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

OUT输出参数:该值可在存储过程内部被改变,并可返回

INOUT输入输出参数:调用时指定,并且可被改变和返回

1)IN参数例子

创建:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE demo_in_parameter(IN p_in int)

3.-> BEGIN

4.-> SELECT p_in;

5.-> SET p_in=2;

6.-> SELECT p_in;

7.-> END;

8.-> //

9.mysql > DELIMITER ;

执行结果:

1.mysql > SET @p_in=1;

2.mysql > CALL demo_in_parameter(@p_in);

3.+------+

4.| p_in |

5.+------+

6.| 1 |

7.+------+

8.

9.+------+

10.| p_in |

11.+------+

12.| 2 |

13.+------+

14.

15.mysql> SELECT @p_in;

16.+-------+

17.| @p_in |

18.+-------+

19.| 1 |

20.+-------+

以上可以看出,p_in虽然在存储过程中被修改,但并不影响@p_id的值

2)OUT参数例子

创建:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE demo_out_parameter(OUT p_out int)

3.-> BEGIN

4.-> SELECT p_out;

5.-> SET p_out=2;

6.-> SELECT p_out;

7.-> END;

8.-> //

9.mysql > DELIMITER ;

执行结果:

1.mysql > SET @p_out=1;

2.mysql > CALL sp_demo_out_parameter(@p_out);

3.+-------+

4.| p_out |

5.+-------+

6.| NULL |

7.+-------+

8.

9.+-------+

10.| p_out |

11.+-------+

12.| 2 |

13.+-------+

14.

15.mysql> SELECT @p_out;

16.+-------+

17.| p_out |

18.+-------+

19.| 2 |

20.+-------+

3)INOUT参数例子

创建:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE demo_inout_parameter(INOUT p_inout int)

3.-> BEGIN

4.-> SELECT p_inout;

5.-> SET p_inout=2;

6.-> SELECT p_inout;

7.-> END;

8.-> //

9.mysql > DELIMITER ;

执行结果:

1.mysql > SET @p_inout=1;

2.mysql > CALL demo_inout_parameter(@p_inout) ;

3.+---------+

4.| p_inout |

5.+---------+

6.| 1 |

7.+---------+

8.

9.+---------+

10.| p_inout |

11.+---------+

12.| 2 |

13.+---------+

14.

15.mysql > SELECT @p_inout;

16.+----------+

17.| @p_inout |

18.+----------+

19.| 2 |

20.+----------+

3.1.4变量

1)变量定义

DECLARE variable_name [,variable_name...] datatype [DEFAULT value];

其中,datatype为MySQL的数据类型,如:int, float, date, varchar(length)

例如:

1.DECLARE l_int int unsigned default 4000000;

2.DECLARE l_numeric number(8,2) DEFAULT 9.95;

3.DECLARE l_date date DEFAULT '1999-12-31';

4.DECLARE l_datetime datetime DEFAULT '1999-12-31 23:59:59';

5.DECLARE l_varchar varchar(255) DEFAULT 'This will not be padded';

2)变量赋值

SET变量名=表达式值[,variable_name = expression ...]

3)用户变量

A.在MySQL客户端使用用户变量

1.mysql > SELECT 'Hello World' into @x;

2.mysql > SELECT @x;

3.+-------------+

4.| @x |

5.+-------------+

6.| Hello World |

7.+-------------+

8.mysql > SET @y='Goodbye Cruel World';

9.mysql > SELECT @y;

10.+---------------------+

11.| @y |

12.+---------------------+

13.| Goodbye Cruel World |

14.+---------------------+

15.

16.mysql > SET @z=1+2+3;

17.mysql > SELECT @z;

18.+------+

19.| @z |

20.+------+

21.| 6 |

22.+------+

B.在存储过程中使用用户变量

1.mysql > CREATE PROCEDURE GreetWorld( ) SELECT CONCAT(@greeting,' World')

;

2.mysql > SET @greeting='Hello';

3.mysql > CALL GreetWorld( );

4.+----------------------------+

5.| CONCAT(@greeting,' World') |

6.+----------------------------+

7.| Hello World |

8.+----------------------------+

C.在存储过程间传递全局范围的用户变量

1.mysql> CREATE PROCEDURE p1() SET @last_procedure='p1';

2.mysql> CREATE PROCEDURE p2() SELECT CONCAT('Last procedure was ',@last_p

roc);

3.mysql> CALL p1( );

4.mysql> CALL p2( );

5.+-----------------------------------------------+

6.| CONCAT('Last procedure was ',@last_proc |

7.+-----------------------------------------------+

8.| Last procedure was p1 |

9.+-----------------------------------------------+

注意:

a)户变量名一般以@开头

b)滥用用户变量会导致程序难以理解及管理

3.1.5注释

MySQL存储过程可使用两种风格的注释

双模杠:--一般用于单行注释

c风格:一般用于多行注释

例如:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc1 --name存储过程名

3.-> (IN parameter1 INTEGER)

4.-> BEGIN

5.-> DECLARE variable1 CHAR(10);

6.-> IF parameter1 = 17 THEN

7.-> SET variable1 = 'birds';

8.-> ELSE

9.-> SET variable1 = 'beasts';

10.-> END IF;

11.-> INSERT INTO table1 VALUES (variable1);

12.-> END

13.-> //

14.mysql > DELIMITER ;

3.2存储过程特点

1)MySQL 存储过程名字后面的“()”是必须的,即使没有一个参数,也需要“()”

2)MySQL 存储过程参数,不能在参数名称前加“@”,如:“@a int”。下面的创建存储

过程语法在 MySQL 中是错误的(在 SQL Server 中是正确的)。 MySQL 存储过程中的变量,不需要在变量名字前加“@”,虽然 MySQL 客户端用户变量要加个“@”。

create procedure pr_add

(

@a int, -- 错误

b int -- 正确

)

3)MySQL 存储过程的参数不能指定默认值。

4)MySQL 存储过程不需要在 procedure body 前面加“as”。而 SQL Server 存储过程

必须加“as” 关键字。

create procedure pr_add

(

a int,

b int

)

as -- 错误,MySQL 不需要“as”

begin

mysql statement ...;

end;

5)如果 MySQL 存储过程中包含多条 MySQL 语句,则需要 begin end 关键字。

6)MySQL 存储过程中的每条语句的末尾,都要加上分号“;”

7)不能在 MySQL 存储过程中使用“return” 关键字。

8)因为 MySQL 存储过程参数没有默认值,所以在调用 MySQL 存储过程时候,不能省略参

数。可以用 null 来替代

3.3存储过程调用

用call和你过程名以及一个括号,括号里面根据需要,加入参数,参数包括输入参数、输出参数、输入输出参数。具体的调用方法可以参看上面的例子。

3.4存储过程查询

我们像知道一个数据库下面有那些表,我们一般采用show tables;进行查看。那么我们要查看某个数据库下面的存储过程,是否也可以采用呢?答案是,我们可以查看某个数据库下面的存储过程,但是是令一钟方式。

我们可以用

select name from mysql.proc where db=’数据库名’;

或者

select routine_name from information_schema.routines where routine_schema='数据库名';

或者

show procedure status where db='数据库名';

进行查询。

如果我们想知道,某个存储过程的详细,那我们又该怎么做呢?是不是也可以像操作表一样用describe表名进行查看呢?

答案是:我们可以查看存储过程的详细,但是需要用另一种方法:

SHOW CREATE PROCEDURE数据库.存储过程名;

就可以查看当前存储过程的详细。

3.5存储过程修改

ALTER PROCEDURE

更改用CREATE PROCEDURE建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。

3.6存储过程删除

DROP PROCEDURE

从MySQL的表格中删除一个或多个存储过程。

3.7存储过程控制语句

2.6.1变量作用域

内部的变量在其作用域范围内享有更高的优先权,当执行到end。变量时,内部变量消

失,此时已经在其作用域外,变量不再可见了,应为在存储

过程外再也不能找到这个申明的变量,但是你可以通过out参数或者将其值指派给会话变量来保存其值。

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc3()

3. -> begin

4. -> declare x1 varchar(5) default 'outer';

5. -> begin

6. -> declare x1 varchar(5) default 'inner';

7. -> select x1;

8. -> end;

9. -> select x1;

10. -> end;

11. -> //

12.mysql > DELIMITER ;

2.6.2条件语句

1)if-then -else语句

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc2(IN parameter int)

3. -> begin

4. -> declare var int;

5. -> set var=parameter+1;

6. -> if var=0 then

7. -> insert into t values(17);

8. -> end if;

9. -> if parameter=0 then

10. -> update t set s1=s1+1;

11. -> else

12. -> update t set s1=s1+2;

13. -> end if;

14. -> end;

15. -> //

16.mysql > DELIMITER ;

2)case语句:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc3 (in parameter int)

3. -> begin

4. -> declare var int;

5. -> set var=parameter+1;

6. -> case var

7. -> when 0 then

8. -> insert into t values(17);

9. -> when 1 then

10. -> insert into t values(18);

11. -> else

12. -> insert into t values(19);

13. -> end case;

14. -> end;

15. -> //

16.mysql > DELIMITER ;

3)循环语句

A.while ···· end while:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc4()

3. -> begin

4. -> declare var int;

5. -> set var=0;

6. -> while var<6 do

7. -> insert into t values(var);

8. -> set var=var+1;

9. -> end while;

10. -> end;

11. -> //

12.mysql > DELIMITER ;

B.repeat···· end repeat:

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc5 ()

3. -> begin

4. -> declare v int;

5. -> set v=0;

6. -> repeat

7. -> insert into t values(v);

8. -> set v=v+1;

9. -> until v>=5

10. -> end repeat;

11. -> end;

12. -> //

13.mysql > DELIMITER ;

C.loop ·····end loop:

loop循环不需要初始条件,这点和while循环相似,同时和repeat循环一样不需要结束条件, leave语句的意义是离开循环。

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc6 ()

3. -> begin

4. -> declare v int;

5. -> set v=0;

6. -> LOOP_LABLE:loop

7. -> insert into t values(v);

8. -> set v=v+1;

9. -> if v >=5 then

10. -> leave LOOP_LABLE;

11. -> end if;

12. -> end loop;

13. -> end;

14. -> //

15.mysql > DELIMITER ;

https://www.doczj.com/doc/2d16281779.html,BLES标号:

标号可以用在begin repeat while或者loop语句前,语句标号只能在合法的语句前面使用。可以跳出循环,使运行指令达到复合语句的最后一步。

4)ITERATE迭代

通过引用复合语句的标号,来从新开始复合语句

1.mysql > DELIMITER //

2.mysql > CREATE PROCEDURE proc10 ()

3. -> begin

4. -> declare v int;

5. -> set v=0;

6. -> LOOP_LABLE:loop

7. -> if v=3 then

8. -> set v=v+1;

9. -> ITERATE LOOP_LABLE;

10. -> end if;

11. -> insert into t values(v);

12. -> set v=v+1;

13. -> if v>=5 then

14. -> leave LOOP_LABLE;

15. -> end if;

16. -> end loop;

17. -> end;

18. -> //

19.mysql > DELIMITER ;

3.8存储过程基本函数

2.7.1字符串类

1)CHARSET(str) //返回字串字符集

2)CONCAT (string2 [,... ]) //连接字串

3)INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在

返回0

4)LCASE (string2 ) //转换成小写

5)LEFT (string2 ,length ) //从string2中的左边起取length个字符

6)LENGTH (string ) //string长度

7)LOAD_FILE (file_name ) //从文件读取内容

8)LOCATE (substring , string [,start_position ] )同INSTR,但可指定开始位置

9)LPAD (string2 ,length ,pad ) //重复用pad加在string开头,直到字串长度为length

10)LTRIM (string2 ) //去除前端空格

11)REPEAT (string2 ,count ) //重复count次

12)REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str

13)RPAD (string2 ,length ,pad) //在str后用pad补充,直到长度为length

14)RTRIM (string2 ) //去除后端空格

15)STRCMP (string1 ,string2 ) //逐字符比较两字串大小,

16)SUBSTRING (str , position [,length ]) //从str的position开始,取length个字

注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1 例:

1.mysql> select substring('abcd',0,2);

2.+-----------------------+

3.| substring('abcd',0,2) |

4.+-----------------------+

5.| |

6.+-----------------------+

7. 1 row in set (0.00 sec)

8.

9.mysql> select substring('abcd',1,2);

10.+-----------------------+

11.| substring('abcd',1,2) |

12.+-----------------------+

13.| ab |

14.+-----------------------+

15.1 row in set (0.02 sec)

17)TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字

18)UCASE (string2 ) //转换成大写

19)RIGHT(string2,length) //取string2最后length个字符

20)SPACE(count) //生成count个空格

2.7.2数学类

1)ABS (number2 ) //绝对值

2)BIN (decimal_number ) //十进制转二进制

3)CEILING (number2 ) //向上取整

4)CONV(number2,from_base,to_base) //进制转换

5)FLOOR (number2 ) //向下取整

6)FORMAT (number,decimal_places ) //保留小数位数

7)HEX (DecimalNumber ) //转十六进制

注:HEX()中可传入字符串,则返回其ASC-11码,如HEX('DEF')返回4142143 也可以传入十进制整数,返回其十六进制编码,如HEX(25)返回19

8)LEAST (number , number2 [,..]) //求最小值

9)MOD (numerator ,denominator ) //求余

10)POWER (number ,power ) //求指数

11)RAND([seed]) //随机数

12)ROUND (number [,decimals ]) //四舍五入,decimals为小数位数]

注:返回类型并非均为整数,如:

(1)默认变为整形值

1.mysql> select round(1.23);

2.+-------------+

3.| round(1.23) |

4.+-------------+

5.| 1 |

6.+-------------+

7. 1 row in set (0.00 sec)

8.

9.mysql> select round(1.56);

10.+-------------+

11.| round(1.56) |

12.+-------------+

13.| 2 |

14.+-------------+

15.1 row in set (0.00 sec)

(2)可以设定小数位数,返回浮点型数据

1.mysql> select round(1.567,2);

2.+----------------+

3.| round(1.567,2) |

4.+----------------+

5.| 1.57 |

6.+----------------+

7. 1 row in set (0.00 sec)

8.SIGN (number2 ) //

2.7.3日期时间类

1)ADDTIME (date2 ,time_interval ) //将time_interval加到date2

2)CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //转换时区

3)CURRENT_DATE ( ) //当前日期

4)CURRENT_TIME ( ) //当前时间

5)CURRENT_TIMESTAMP ( ) //当前时间戳

6)DATE (datetime ) //返回datetime的日期部分

7)DATE_ADD (date2 , INTERVAL d_valued_type ) //在date2中加上日期或时间

8)DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime

9)DATE_SUB (date2 , INTERVAL d_valued_type ) //在date2上减去一个时间

10)DATEDIFF (date1 ,date2 ) //两个日期差

11)DAY (date ) //返回日期的天

12)DAYNAME (date ) //英文星期

13)DAYOFWEEK (date ) //星期(1-7) ,1为星期天

14)DAYOFYEAR (date ) //一年中的第几天

15)EXTRACT (interval_name FROM date ) //从date中提取日期的指定部分

16)MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串

17)MAKETIME (hour ,minute ,second ) //生成时间串

18)MONTHNAME (date ) //英文月份名

19)NOW ( ) //当前时间

20)SEC_TO_TIME (seconds ) //秒数转成时间

21)STR_TO_DATE (string ,format ) //字串转成时间,以format格式显示

22)TIMEDIFF (datetime1 ,datetime2 ) //两个时间差

23)TIME_TO_SEC (time ) //时间转秒数]

24)WEEK (date_time [,start_of_week ]) //第几周

25)YEAR (datetime ) //年份

26)DAYOFMONTH(datetime) //月的第几天

27)HOUR(datetime) //小时

28)LAST_DAY(date) //date的月的最后日期

29)MICROSECOND(datetime) //微秒

30)MONTH(datetime) //月

31)MINUTE(datetime) //分返回符号,正负或0

32)SQRT(number2) //开平方

3.9事务、游标的使用

2.9.1事务

-- 启动事务

start transaction;

……

-- 运行没有异常,提交事务

commit;

2.9.2游标

-- 声明游标

declare cur cursor for

-- 声明游标的异常处理,设置一个终止标记

declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop=1;

-- 打开游标

open cur;

-- 读取一行数据到变量

fetch cur into

-- 这个就是判断是否游标已经到达了最后

while stop <> 1 do

-- 读取下一行的数据

fetch cur int

-- 关闭游标

close cur;

4.Mysql视图

4.1创建视图

4.1.1定义

格式:create [or replace] [algorithm = {undefined | merge | temptable}] view [db_name.]view_name [(column_list)] as select_statement [with [cascaded | local] check option]

注:

A.若给定了[or replace],则表示当已具有同名的视图时,将覆盖原视图。

B.select_statement是一个查询语句,这个查询语句可从表或其它的视图中查询。

C.视图属于数据库,因此需要指定数据库的名称,若未指定时,表示在当前的数据库

创建新视图。

D.表和表共享数据库中相同的名称空间,因此,数据库不能包含相同名称的表和视图,

并且,视图的列名也不能重复。

4.1.2举例

创建一个产品表(product)和一个购买记录表(purchase),再通过视图purchase_detail查询出购买的详细信息。

create table product

(

product_idint not null,

name varchar(50) not null,

price double not null

);

insert into product values(1, 'apple ', 5.5);

create table purchase

(

id int not null,

product_idint not null,

qtyint not null default 0,

gen_timedatetime not null

);

insert into purchase values(1, 1, 10, now());

create view purchase_detail as select https://www.doczj.com/doc/2d16281779.html, as name, product .price as price, purchase.qty as qty, product .price * purchase.qty as total_value from product, purchase where product.product_id = purchase.product_id;

数据库基础操作语句

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

MYSQL数据库基本操作命令

MYSQL数据库基本操作命令 用户名和密码:123456 创建一个名称为mydb1的数据库。 create database mydb1; 查看所有数据库 show databases; 创建一个使用utf-8字符集的mydb2数据库。 create database mydb2 character set utf8; 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_general_ci; 显示库的创建信息 show create database mydb3; 删除前面创建的mydb1数据库 drop database mydb1; 查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312; alter database mydb2 character set gb2312; show create database mydb2; 备份库 1、准备库的数据 create database mydb1; use mydb1; create table test ( id int ); insert into test(id) values(1); select * from test; 2、删除库:drop database mydb1; 3、 4.1 创建库:create database mydb1; 4.2 \. test.sql (通过执行脚本文件实现) 5、

创建一个员工表 use mydb1; 进入库 create table employee ( id int, name varchar(20), gender varchar(4), birthday date, entry_date date, job varchar(40), salary double, resume text )character set utf8 collate utf8_general_ci; 查看库中所有表 show tables; 查看表的创建细节 show create table employee; 查看表的结构 desc employee; 在上面员工表的基本上增加一个image列。 alter table employee add image blob; 修改job列,使其长度为60。 alter table employee modify job varchar(60); 删除sex列。 alter table employee drop gender; 表名改为user。 rename table employee to user; 修改表的字符集 alter table user character set gb2312; show create table user; 列名name修改为username alter table user change column name username varchar(20); 使用insert语句向表中插入一个员工的信息。 insert into employee(id,username,birthday,entry_date,job,salary,resume)

Mysql基本操作

1.Mysql基本操作 1.1修改管理员的密码 1)Mysql刚安装好后无密码,使用”mysqladmin–uroot password 密码”修改管理员密 码 2)以管理员身份登录数据库,使用”mysql–u root” 3)原来有密码,现在要修改,使用”mysqladmin–uroot–p旧密码 password 新密码” 1.2用户的创建、删除、授权与撤权 Mysql安装好后,默认有两个数据库(mysql和test),而且除了root用户外,其他用户只能访问test数据库。 Mysql中设置了5个授权表(user/db/host/tables_priv/columnts_priv)。 1)创建新用户,方法如下: A.mysql–u root –p #以管理员身份登录 B.insert into https://www.doczj.com/doc/2d16281779.html,er(host,user,password) values(‘%’,’guest’,password(‘guest’));#创建一个用户名为guest的用 户 C.flush privileges;#重载授权表 2)删除用户,方法如下: A.mysql–u root –p #以管理员身份登录 B.delete from https://www.doczj.com/doc/2d16281779.html,er where user=’guest’; C.flush privileges; 3)更改用户密码,方法如下: A.mysql–u root –p #以管理员身份登录 B.update https://www.doczj.com/doc/2d16281779.html,er set password=password(‘123’) where user=’guest’; C.flush privileges; 4)用户授权,方法如下: 格式:GRANT 权限列表[(字段列表)] ON 数据库名称.表名 TO 用户名@域名或IP地址[IDENTIFIED BY ‘密码值’] [WITH GRANT OPTION]; 常用权限如下: 全局管理权限: FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。

VFP数据库的基本操作习题

1.在Visual FoxPro的命令窗口中输入CREATE DATA命令以后,屏幕会出现一个创建对 话框,要想完成同样的工作,还可以采取如下步骤( )。 A)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选按钮,再单击“新建文件”命令按钮 B)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选按钮,再单击“向导”命令按钮 C)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选按钮,再单击“新建文件”命令按钮 D)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选按钮,再单击“向导”命令按钮 2.一个数据库名student,要想打开数据库,应使用命令()。 A)OPEN student B)OPEN DATA student C)USE DATA student D)USE student 3.在使用USE命令打开表文件时,能够同时自动打开一个相关的()。 A)备注文件B)文本文件C)内存变量文件D)屏幕格式文件 4.删除数据库表中的记录有()方式。 A)1种B)2种C)3种D)4种 5.如果需要给当前表末尾增加一个空白记录,应使用的命令是()。 A)APPEND B)APPEND BLANK C)INSERT D)EDIT 6.要从表中物理删除一条记录,应使用命令()。 A)首先用DELETE命令,然后用ZAP命令 B)直接用ZAP命令 C)首先用DELETE命令,然后用PACK命令 D)直接用DElETE命令 7.要彻底删除表中的所有记录,可以使用命令( )。 A)PPEND B)DELETE C)ZAP D)RECALL 8.用命令REPLACE修改记录的特点是()。 A)边查阅边修改B)数据表之间自动更新 c)成批自动替换D)按给定条件顺序修改更新 9.职工数据表中有D型字段“出生日期”,苦要显示职工生日的月份和日 期,应当使用命令()。 A)?姓名+MONTH(出生日期)+”月”+DAY(出生日期)+“日” B)?姓名+STR(MONTH(出生日期)+”月”+DAY(出生日期))+”日” c)?姓名+SUBSTR(MONTH(出生日期))+”月”+SUBSTR(DAY(出生日期)) +”日“ D)?姓名+STR(MONTH(出生日期),2)+”月”+STR(DAY(出生日期),2) +”日” 10.在以下各命令序列中总能实现插入一条空记录并使其成为第八条记录的是()。 A)SKIP 7 B)GOTO 7 INSERT BLANK INSERT BLANK C)LOCATE FOR RECNO( )=8 D)GOTO 7 INSERT BLANK INSERT BIlANK BEFORE

MYSQL数据库基本操作详细教程

MYSQL数据库 学习目标: ●掌握MYSQL基本知识 ●学习数据库管理和操作 ●掌握数据库设计方法 ●熟练运用SQL编程语言 基本概念 MYSQL数据库是关系型数据库。 关系型:使用一个关系,来表示实体信息和实体之间的联系。关系:就是二维表,有行有列的表格。 这两张表通过班级名称关联起来。 关系型数据库:就是由二维表及其之间的联系组成的数据组织。 同一个表中数据结构完全一致。 数据是由记录组成 记录是由字段组成。 SQL:结构化查询语言 专门用于处理关系型数据库编程语言。 PHP也是编程语言 变量,流程控制,函数

数据库服务器的结构 DBS = DBMS + DB 数据库系统= 数据库管理系统+ 数据库(数据) 命令行客户端

数据在服务器上是如何存储的? 操作服务器 通过服务管理来操作服务器 开始->运行-> 3306是MYSQL服务程序的默认端口号 可以用netstat –an命令查看服务是否启动

命令行命令控制服务器的启动和关闭 Net start mysql Net stop mysql 错误原因:没有权限 解决办法:用管理员方式启动命令行窗口 C/S, client / server客户端/服务器方式访问数据库命令行客户端工具

流程: 1.连接和认证,提供4个参数,分别是主机地址,端口号,用户名,密码 2.向MYSQL数据库服务器发送SQL 3.MYSQL服务器接收并执行SQL,并且把结果返回给客户端 4.客户端对结果进行显示 5.断开服务器连接。Exit, quit, \q 2,3,4这几步可以循环执行 知识: 非关系型数据库,NOSQL,not only sql 不仅仅是SQL 代表:redis, mongodb 数据存储有点象数组,key/value SQL语言 存储数据: 首先建立数据库 之后建立数据表(字段定义) 操作数据 数据有哪些操作 CURD CREATE UPDATE READ DELETE(DROP)

MySQL基础 学习 超级详细

一、MySQL概述 1、什么是数据库? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等? 答:他们均是一个软件,都有两个主要的功能: o a. 将数据保存到文件或内存 o b. 接收特定的命令,然后对文件进行 相应的操作 3、什么是SQL ? 答:MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包 含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。 二、MySQL安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数据,则需要做几件事情: a. 安装MySQL服务端 b. 安装MySQL客户端 b. 【客户端】连接【服务端】 c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相 应操作(增删改查等) 下载 https://www.doczj.com/doc/2d16281779.html,/downloads/mysql/

安装 windows: https://www.doczj.com/doc/2d16281779.html,/article/f3ad7d0ffc061a09c3345bf0.html linux: yum install mysql-server mac: 一直点下一步 客户端连接 连接: 1、mysql管理人默认为root,没有设置密码则直接登录 mysql -h host -u root -p 不用输入密码按回车自动进入 2、如果想设置mysql密码 mysqladmin -u root password 123456 3、如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是: mysqladmin -u root -p password abcdef 退出: QUIT 或者 Control+D 三、数据库基础 分为两大部分: 1、数据库和表的创建; 2、数据库和表内容的操作 数据库操作-思路图

SQL数据库的基本操作

命令行 1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES; 2、建立数据库:mysql> CREATE DATABASE 库名; 3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名(字段名VARCHAR(20), 字段名CHAR(1)); 4、删除数据库:mysql> DROP DATABASE 库名; 5、删除数据表:mysql> DROP TABLE 表名; 6、将表中记录清空:mysql> DELETE FROM 表名; 7、往表中插入记录:mysql> INSERT INTO 表名VALUES ("hyq","M"); 8、更新表中数据:mysql-> UPDATE 表名SET 字段名1='a',字段名2='b' WHERE 字段名3='c'; 9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名; 10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql; 11、命令行修改root密码:mysql> update https://www.doczj.com/doc/2d16281779.html,er set password=password('新密码') where user='root';mysql> flush privileges; 12.修改密码的三种方法:mysql>update user set password=password('') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('');mysql>grant usage on *.* to 'joy_pen' identified by ''; 1、创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb 的数据库mysql> create database xhkdb; 2、显示所有的数据库 命令:show databases (注意:最后有个s)mysql> show databases; 3、删除数据库 命令:drop database <数据库名> 例如:删除名为xhkdb的数据库mysql> drop database xhkdb; 4、连接数据库 命令:use <数据库名> 例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb; 屏幕提示:Database changed 5、当前选择(连接)的数据库mysql> select database(); 6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s) 三、表操作,操作之前应连接某个数据库 1、建表 命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default ''0'', > degree double(16,2)); 2、获取表结构 命令:desc 表名,或者show columns from 表名 mysql>DESCRIBE MyClass mysql> desc MyClass;

Mysql数据库的一些基本操作

Mysql数据库的一些基本操作 一、MySQL服务器的启动与关闭 1、启动MySQL服务器 开始-> 运行输入“cmd”,然后在命令提示符下输入“net start MySQL”指令。 2、连接MySQL服务器 输入指令:MySQL -uroot -h127.0.0.1 -p111(-h127.0.0.1看个人情况 输不输) 注:用户名为“root”,MySQL数据库服务器地址为“127.0.0.1”,密码为“111”,三者之间必须有空格。 3、关闭MySQL服务器 开始-> 运行输入“cmd”,然后在命令提示符下输入“net stop MySQL”指令。 二、操作MySQL数据库 1、创建数据库 create database 数据库名; 2、查看数据库 show databases; 3、选择指定数据库 use 数据库名; 4、删除数据库 drop database 数据库名; 注:自动删除MySQL安装目录中的“C:/AppServ/MySQL/data”文件夹。 三、操作MySQL数据表 1、创建表 create table 表名(column_name column_type not null,...)

创建数据表后,“C:\AppServ\MySQL\data\数据库名\”中自动创建对应表文件(“表名.frm”,“表名.MYD”,“表名.MYI”) 2、查看数据库中的表 show tables; 3、查看数据库中所有的表 show tables;(前提是使用use database 数据库;) 4、查看数据表结构 describe 表名; 5、修改数据表结构 alter table 表名 add [column] create_definition [first | after column_name] //添加新字段 add primary key (index_col_name,...)//添加主码名称 alter [column] col_name {set default literal |rop default}/ /修改字段名称 change [column] old_col_name create_definition//修改字段名及类型 modify [column] create_definition//修改字段类型 drop [column] col_name//删除字段 drop primary key//删除主码 rename [as] new_tablename//更改表名 eg:alter table Admin_Info drop A_Pwd, rename as Admin_Info2; 6、删除指定数据表 drop table 表名; 四、操作MySQL数据 1、添加表数据 语法1:insert into 表名values(值1,值2,...)(自增长的列应写null)语法2:insert into 表名(字段1,字段2,...)values (值1,值2,...)语法3:insert into 表名set 字段1=值1,字段2=值2,... 2、更新表数据 update 表名set 字段1=值1 where 查询条件 若无查询条件,表中所有数据行都会被修改。 3、删除表数据 delete from 表名where 查询条件

数据库与表的基本操作

第四章数据库与表的基本操作 实验4-1 数据库及表的操作 (一)实验目的 1.掌握创建数据库的基本操作方法。 2.熟练掌握创建表结构和输入记录的操作方法。 3.熟练掌握修改表结构、浏览和修改表记录数据的操作。 4.熟练掌握建立索引的操作。 5.掌握创建表间联系的操作。 (二)实验内容及步骤 1.创建数据库 【实例4-1】在实验2-1所建立的“教学管理.pjx”项目中,创建一个“学生成绩.dbc”数据库。 操作步骤如下: (1)打开“教学管理.pjx”项目。 (2)在“项目管理器”窗口中,选择“数据库”,然后单击“新建”按钮,打开“新建数据库”对话框,单击其中的“新建数据库”按钮,打开“创建”对话框,如图4-1所示。 图4-1“创建”对话框 (3)在“保存在”文本框中,选择保存数据库的文件夹“程序VX”;在“数据库名”文本框中,输入数据库名称“学生成绩”。 (4)单击“保存”按钮,即在指定位置建立一个“学生成绩.dbc”数据库文件。 此时,在VFP主窗口中弹出一个“数据库设计器”窗口,同时还激活了“数据库设计器”工具栏,如图4-2所示。

18 数据库应用学习与实训指导 图4-2“数据库设计器”窗口 2.创建数据表 【实例4-2】在“教学管理.pjx”项目中,创建学生表(Student.dbf)、成绩表(Grade.dbf)、课程表(Course.dbf)、授课表(Teach.dbf)和教师表(Teacher.dbf)。各个表的结构和数据记录如图4-3、图4-4、图4-5、图4-6、图4-7、图4-8、图4-9、图4-10、图4-11和图4-12所示。 图4-3学生表(Student.dbf)的结构 图4-4学生表(Student.dbf)的记录浏览窗口

mysql启动及常用命令

数据库 一、增,删,改,查 数据库的编程: 1.数据库编程概述 2.c常用的数据库编程方法 ①c中使用专门的库函数,在函数调用中使用SQL语句注意:linux 常用的数据库:MySqL 是开源的免费的二.mysql的使用 1.手动 2.编程 启动/etc/rc.d/init.d/mysqld stat 查看:/etc/rc.d/init.d/mysqld status 进入mysql mysql quit 退出

常用的命令: 资料:MYSQL常用命令 1.desc:查看表结构 2.show dababase();查看所在数据库的位置: 3.显示库中的数据表: ◆use mysql;打开库 ◆show tables; 4.显示数据表的结构:describe 表名; 5.建库:create databases 库名; 6.删除库:drop database 库名; 7.删除表:drop table 表名; 8.将表中的记录清空:delete from 表名; 9.显示表中的记录:select *from 表名; 1.导出整个数据库 mysqldump -u 用户名-p --default-character-set=latin1 数据库名> 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名-p 数据库名表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据–add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 A:常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname < filename.sql C:使用mysql命令 mysql -u username -p -D dbname < filename.sql 一、启动与退出 1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql> 2、退出MySQL:quit或exit 二、库操作 1、、创建数据库

DOS下操作数据库基本语法(简明扼要)

注:1Mysqldump是mysql数据库的自带备份函数。借助此命令可使备份变得简单。 2斜体部分是可以重命名的部分。 1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbname.sql (2)导出数据库结构(不含数据) mysqldump -u username -p -d dbname > dbname.sql (3)导出数据库中的某张数据表(包含数据) mysqldump -u username -p dbname tablename > tablename.sql (4)导出数据库中的某张数据表的表结构(不含数据) mysqldump -u username -p -d dbname tablename > t ablename.sql 2.mysqldump常用实例: mysqldump常用于数据库的备份与还原,在备份的过程中我们可以根据自己的实际情况添加以上任何参数,假设有数据库test_db,执行以下命令,即可完成对整个数据库的备份: mysqldump -u root -p test_db > test_db.sql 如要对数据进行还原,可执行如下命令: mysql -u username -p test_db < test_db.sql 还原数据库操作还可以使用以下方法: mysql> sourcetest_db.sql dos命令行下连接和操作MySQL数据库 一、连接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可以不用加空格,其它也一样)

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREA TE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DA TABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定义文件),student.MDY(数据文件),stedent.MYI(索引文件)。 复制表CREATE TABLE 新表名称LIKE 原表名称; 如:mysql>create table xtable like student; 删除表DROP TABLE 表名称1[表名称2…]; 如:mysql> drop table xtale; 修改表ALTER TABLE 表名称更改动作1[动作2]; 动作有ADD(增加) DROP(删除)CHANGE、MODIFY(更改字段名和类型)RENAME 增加字段:mysql>alter table student add saddress varchar(25); 更改字段名和字段类型:mysql>alter table student change saddress sremark test; 即使不更改字段类型也要给出字段类型如: mysql>alter table student change saddress sremark varchar (25); 更改字段类型:mysql> alter table student modify sremark varchar(25); 删除字段:mysql>alter table student drop sremark; 更改表名称:mysql>alter table student rename to xs;

实验二 SQL Server 数据表的基本操作与查询

实验二SQL Server数据表的基本操作 一、实验目的 1.掌握创建数据库和表的操作。 2.熟悉SQL Server查询分析器环境。 3.掌握基本的SELECT查询及其相关子句的使用。 4.掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。 二、实验内容 1.创建XSCJ数据库。 2.在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。 3.在XSQK、KC、XS_KC表中输入数据。 4.启动SQL Server 2000 查询分析器环境。 5.涉及多表的简单查询。 6.涉及多表的复杂查询。 三、实验步骤 1.创建SQL SERVER数据库与数据表 1) 创建XSCJ数据库。 2) 打开创建的 XSCJ数据库,并在“SQL Server Enterprise Mananger” 窗口的右边窗口中选择“表”对象。 3) 选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器 窗口。 4) 根据表2-1所示的表结构增加新列。 5) 点击快捷工具栏上的保存快捷按钮,在弹出的“选择名称”对话框中 输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新 表的创建。 6) 打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边 窗口中选择刚才创建的“XSQK”表。 7) 选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令, 打开表的数据记录窗口。

8) 输入的学生情况数据记录见表2-2。 表2-2 学生情况记录 9) 用同样方法创建课程表KC,表的结构见表2-3所示,表的内容见表2-4 所示。 表2-4 课程表记录 10)创建成绩表XS_KC,表的结构见表2-5所示,表的内容见表2-6所 示。

数据库的概念及基本操作

数据库的概念及基本操作 一:学习目标 1、掌握数据库的概念 2、理解数据库应用软件和数据库管理系统的概念 3、学会用access软件管理数据库 二:学习重难点 1、数据库应用系统和数据库管理系统的区别 2、Access的基本操作 三:学习过程 ○1、阅读教材完成以下填空 1:什么是数据库____________________________________________________ 2:请你简述数据库应用软件和数据库管理系统的区别 3:access数据库有若干张____________组成 4:数据表示一张二维表格,由行和列构成,每一行称为一条_____________,每一 列称为一个__________ 5:access文件的扩展名为:_______________________ 6:access数据表常见的字段类型有哪些 _______________________________________________________________________ ○2、任务一: 1、打开kaqatk.mdb,修改第一条记录的题目,运行程序,看看发生了什么变化? 2、添加三条记录,运行程序,看看又发生了如何改变? 3、删除编号为 4、10、16的记录,看看其他编号是否发生改变? 4、把题目表导出为excel表。文件名为”题目” 5、新建一个数据库,取名为题目,把题目表导入刀新数据库中。 任务二:假设你是腾讯公司的程序设计师,需要设计一个数据库用来存放QQ程序的个人信息、好友信息和聊天记录 1.打开access,新建一个数据库文件,里面新建3张数据表,表名称如下图: 2.设计个人信息表得有如下字段:序号、QQ号码、QQ密码、昵称头像、性别、 出生日期、个性签名 3.好友信息表得有如下字段:序号、QQ号码、昵称、头像 4.聊天记录表字段:序号、时间、聊天内容

2000数据表的基本操作

实验二SQL Server 2000数据表的基本操作 一、实验目的 1.掌握创建数据库和表的操作。 2.熟悉SQL Server 2000查询分析器环境。 3.掌握基本的SELECT查询及其相关子句的使用。 4.掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。 二、实验内容 1.创建XSCJ数据库。 2.在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。 3.在XSQK、KC、XS_KC表中输入数据。 4.启动SQL Server 2000 查询分析器环境。 5.涉及多表的简单查询。 6.涉及多表的复杂查询。 三、实验步骤 1.创建SQL SERVER数据库与数据表 1) 创建XSCJ数据库。 2) 打开创建的 XSCJ数据库,并在“SQL Server Enterprise Mananger” 窗口的右边窗口中选择“表”对象。 3) 选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器 窗口。 4) 根据表2-1所示的表结构增加新列。 5) 点击快捷工具栏上的保存快捷按钮,在弹出的“选择名称”对话框中 输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新 表的创建。 6) 打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边 窗口中选择刚才创建的“XSQK”表。 7) 选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令, 打开表的数据记录窗口。

8) 输入的学生情况数据记录见表2-2。 表2-2 学生情况记录 9) 用同样方法创建课程表KC,表的结构见表2-3所示,表的内容见表2-4 所示。 表2-4 课程表记录 10)创建成绩表XS_KC,表的结构见表2-5所示,表的内容见表2-6所 示。

mysql使用说明-简单操作版

1.安装mysql。注意编码的选择那,其它一概采用默认即可。 2.安装中,需要输入进入mysql的密码,请设置为root.(便于记忆和我测试用) 3.进入mysql的方法: 开始--》运行--》输入“mysql” 进入控制台界面如下: 输入你说设置的密码即可进入。 进入后的界面如下:

在“mysql>”的提示符下即可使用命令。 Mysql命令如下: Show databases; --显示所有数据库 Use 数据库名; ---进入某一个数据库中 此时即表示进入了dinner的数据库中,可以进行建表等的操作了。 以下即可使用大家学的sql的基本建表、增删改查的语法了 例如:Create table 表名(字段名字段类型约束,字段名字段类型约束,……) 注意:mysql的自动增长和sqlserver的不一样。 Sqlserver的自动增长用identity的关键字。 Mysql的自动增长用auto_increment

例如如下: 注意: 1)如果某个字段想做为自动增长,在mysql中,必须是主键方能如此。 2)设置默认值(默认值为数值型)约束的语法是default 值 如果设置的默认值为字符型那么公式如下:default ‘值’ 我们日常开发,都会把sql的建表语句提前写好,写在一个*****.sql文件中,然后在mysql 中导入该文件。

然后进入到mysql的控制台,导入此文件,如下: 用命令:source d:/mytable.sql 注意,我开始用错了斜杠是没办法导入的。 现在查看一下,是不是test1和test2都已经有了。 注:show tables; 这是mysql的命令,表示显示某个数据库中的所有的表。做web的项目的时候,别忘记把mysql的驱动jar包导入到lib中哦。 好了,mysql入门教程至此。大家安好。

实验报告1 数据库及表基本操作

实验报告一数据库及表基本操作 姓名:全青青学号:1002010117 班级:无机非一班日期:2 请填入你的班级和做实验的日期。按照《数据库技术及应用——习题与实验指导》第一部分实验指导中“实验三熟悉Access系统集成环境”、“实验四数据库操作”、“实验五表操作”和预习“实验一数据库设计”、“实验二SQL语言应用”的实验内容,边完成各项实验操作,边按要求填写该实验报告。 一、实验目的 1.掌握Access 2003的基本操作。 2.掌握建立一个数据库文件,并对其实施打开与关闭的操作方法。 3.掌握创建表的基本操作方法。 4.掌握对各表完成部分数据操纵的方法。 二、实验报告内容 1.按照P.10实验3-2的操作提示将创建的空数据库命名为“某某的第一个数据库”(注:某某为自 己的姓名),保存位置为以自己姓名命名的文件夹,并将保存文件的对话框粘贴到此:

2.按照P.15实验4-2的操作提示,关闭自己所创建的数据库;再按照P.15实验4-1的操作提示, 找到保存自己所创建的数据库的位置,打开自己所创建的数据库,并将打开文件的对话框粘贴到此:

3.参照P.16实验5-1的操作提示,预习“实验一数据库设计”并根据P.3中实验1-4的8个表结 构逐一定义每个表每个字段的名字、类型、长度等相关内容,并将定义好的每一个表设计视图窗口粘贴到此: 表1-1-1 “学院”表结构(表设计视图窗口)

表1-1-2 “系”表结构(表设计视图窗口)

表1-1-3 “班级”表结构(表设计视图窗口)

表1-1-4 “学生”表结构(表设计视图窗口)

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