mysql 语句
的有关信息介绍如下:问题补充说明:mysql 5.0 是否支持except语句和intersect 语句
Mysql有自己的语法的
看看教程吧
1.连接mysql:
mysq360问答lbinmysql-h主机地址读绝皮如占-u用户名-p用户密码
2.退出mysql:exit
3.修改密码:
mysqlbinmysqladmin-uroot-p(oldpassword子觉植几叫副限她燃天奏)passwordnewpassword
4.增加用户:
添加一个用户test1密码为ABC;让他可以在菜引西纪培察却任何主机上登录,并对系胜景物业优量投余所有数据库有查询、插入、修急罗改、删除的权限。首先用以root用户连入
mysql,然后键入以下命令:grantselect,insert,upd缺磁红营ate,deleteon*.*totest1@"%"Identified
by"abc";
增加一个用户test2密码为abc,让其只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地
主机,即mysql数据库所在的那台主机),这样用户即使用知道test2的密码,也无法从internet上直接访问数色常专令据库,只能通过mysql主机上的web页
来访问了。grantselect,insert,update,d杆eleteonmydb.*totest2@loc铁打听给占建均名alhostidentifiedby"abc";
增加一个衣装径适家酸界可以从任何地方连接服务器的低会山盟史式请另培妈速一个完全的超级用户
grantallprivilegeson*.*totest3@"%"identifiedby'password'withgrantoption;
5.删除授权
revokeselect,inse最作rt,update,d办eleteom*.*fro劳mtest2@localhost;
--------------------------------------------------------
6.显示数据库
showdatabases;
7.显示数纪相据库中的表
usedataname;
showtables;
8.显示表的结构
describetablesn形部饭练盾富各找ame;
9.建库
createdatabase库名;
10.建表
u路厚慢转sedataname;
createtableteacher//建立表TEACHER
(
idint(3)auto_incrementnotnullprimarykey,
namechar(10)notnull,
addressvarchar(50)default'深圳',
yeardate
);//建表结束
//以下为插入字段
insertintoteachervalues('','glchengang','深圳一中','1976-10-10');
insertintoteachervalues('','jack','深圳一中','1975-12-23');
注:在建表中
(1)将ID设为长度为3的数字字段:int(3),并让它每个记录自动加一:auto_increment,
并不能为空:notnull,而且让它成为主字段primarykey
(2)将NAME设为长度为10的字符字段
(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别
呢,只有等以后的文章再说了。
(4)将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令
原样写入一个文本文件中假设为***.sql,然后复制到c:下,并在DOS状态进入目录
mysqlin,然后键入以下命令:
mysql-uroot-p密码<c:***.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你
只要将//的注释去掉即可使用)。
11.删除库和删除表
dropdataname;
droptablename;
12.将表中的记录清空
deletefromtablename;
13.显示表中的记录
select*fromtablename;
14.表重命名
altertablet1renamet2
---------------------------------------------------------
15.备份数据库
mysqlbinmysqldump-h(ip)-uroot-p(password)databasename>***.sql
16.恢复数据库
mysqlbinmysql-h(ip)-uroot-p(password)databasename<***.sql
17.复制数据库
mysqldump--all-databases>***.sal
18.备份表
mysqlbinmysqldump-h(ip)-uroot-p(password)databasenametablename>***.sql
19.恢复表(操作前先把原来的表删除)
mysqlbinmysql-h(ip)-uroot-p(password)databasenametablename<***.sql
----------------------------------------------------------
20.为了改变列a,从INTEGER改为TINYINTNOTNULL(名字一样),
并且改变列b,从CHAR(10)改为CHAR(20),同时重命名它,从b改为c:
ALTERTABLEt2MODIFYaTINYINTNOTNULL,CHANGEbcCHAR(20);
增加一个新TIMESTAMP列,名为d:
ALTERTABLEt2ADDdTIMESTAMP;
在列d上增加一个索引,并且使列a为主键:
ALTERTABLEt2ADDINDEX(d),ADDPRIMARYKEY(a);
删除列c:
ALTERTABLEt2DROPCOLUMNc;
增加一个新的AUTO_INCREMENT整数列,命名为c:
ALTERTABLEt2ADDcINTUNSIGNEDNOTNULLAUTO_INCREMENT,ADDINDEX(c);
注意,我们索引了c,因为AUTO_INCREMENT柱必须被索引,并且另外我们声明c为NOTNULL,
因为索引了的列不能是NULL
---------------------------------------------------------------
21.数据的导入导出
A。mysqlimport
语法:mysqlbinmysqlimportdatabase***.txt(文件名需要与表名相同)
参数:-dor--delete新数据导入数据表中之前删除数据数据表中的所有信息;
-for--force不管是否遇到错误,mysqlimport将强制继续插入数据;
-ior--ignoremysqlimport跳过或者忽略那些有相同唯一关键字的行,导入文件中的数据将被忽略;
-lor-lock-tables数据被插入之前锁住表,这样就防止了,你在更新数据库时,用户的查询和更新受到影响;
--fields-enclosed-by=char
指定文本文件中数据的记录时以什么括起的,很多情况下数据以双引号括起。默认的情况下数据是没有被字符括起的。
--fields-terminated-by=char
指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号。您可以用此选项指定数据之间的分隔符。默认的分隔符是跳格符
(Tab)
--lines-terminated-by=str
此选项指定文本文件中行与行之间数据的分隔字符串或者字符。默认的情况下mysqlimport以newline为行分隔符。您可以选择用一个字
符串来替代一个单个的字符:一个新行或者一个回车。
mysqlimport命令常用的选项还有-v显示版本(version),-p提示输入密码(password)等。
--------------------------------------------------------------
22.常用插入、修改、删除语句
插入记录:insertintoteachervalues('','glchengang','深圳一中','1976-10-10');
修改记录:updatemytablesetsingle=′y′wherename=′abccs′;
删除记录:deletefrommytablewherename=′abc′;