MYSQL常用命令与SQL基本语法.docx
- 文档编号:5777043
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:19
- 大小:24.89KB
MYSQL常用命令与SQL基本语法.docx
《MYSQL常用命令与SQL基本语法.docx》由会员分享,可在线阅读,更多相关《MYSQL常用命令与SQL基本语法.docx(19页珍藏版)》请在冰豆网上搜索。
MYSQL常用命令与SQL基本语法
MYSQL常用命令与SQL基本语法
一、数据库导入导出
1.导出整个数据库
mysqldump-u用户名-p密码数据库名--default-character-set=utf8>导出的文件名(数据库默认编码是utf8)
实例:
mysqldump-uroot-pPKIago1oyYO81ugc3--default-character-set=utf8>ugc3_bak_0725.sql
2.导出一个表
mysqldump-u用户名-p数据库名表名>导出的文件名
实例:
mysqldump-uroot-pPKIago1oyYO81ugc3users>ugc3_users.sql
3.导出一个数据库结构
mysqldump-uroot-pPKIago1oyYO81-d-add-drop-tableugc3>ugc3_db.sql
-d没有数据-add-drop-table在每个create语句之前增加一个droptable
4.导入数据库
A:
常用source命令
进入mysql数据库控制台,
如mysql-uroot-p
mysql>use数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>sourceugc_db.sql
B:
使用mysqldump命令
mysqldump-uusername-pdbname C: 使用mysql命令 mysql-uusername-p-Ddbname 二、启动与退出 1、进入MySQL: 启动MySQLCommandLineClient(MySQL的命令行界面),直接输入安装时的密码即可。 此时的提示符是: mysql> 2、退出MySQL: quit或exit 三、库操作 1、、创建数据库 命令: createdatabase<数据库名> 例如: 建立一个名为ugc3的数据库 mysql>createdatabaseugc3; 2、显示所有的数据库 命令: showdatabases(注意: 最后有个s) mysql>showdatabases; 3、删除数据库 命令: dropdatabase<数据库名> 例如: 删除名为xhkdb的数据库 mysql>dropdatabasexhkdb; 4、连接数据库 命令: use<数据库名> 例如: 如果ugc3数据库存在,尝试存取它: mysql>useugc3; 屏幕提示: Databasechanged 5、查看当前使用的数据库 mysql>selectdatabase(); 6、当前数据库包含的表信息: mysql>showtables;(注意: 最后有个s) 四、表操作,操作之前应连接某个数据库 1、建表 命令: createtable<表名>(<字段名1><类型1>[,..<字段名n><类型n>]); mysql>createtableMyClass( >idint(4)notnullprimarykeyauto_increment, >namechar(20)notnull, >sexint(4)notnulldefault'0', >degreedouble(16,2)); 2、获取表结构 命令: desc表名,或者showcolumnsfrom表名 mysql>DESCRIBEMyClass mysql>descMyClass; mysql>showcolumnsfromMyClass; 3、删除表 命令: droptable<表名> 例如: 删除表名为MyClass的表 mysql>droptableMyClass; 4、插入数据 命令: insertinto<表名>[(<字段名1>[,..<字段名n>])]values(值1)[,(值n)] 例如,往表MyClass中插入二条记录,这二条记录表示: 编号为1的名为Tom的成绩为96.45,编号为2的名为Joan的成绩为82.99,编号为3的名为Wang的成绩为96.5. mysql>insertintoMyClassvalues(1,'Tom',96.45),(2,'Joan',82.99),(2,'Wang',96.59); 5、查询表中的数据 1)、查询所有行 命令: select<字段1,字段2,...>from<表名>where<表达式> 例如: 查看表MyClass中所有数据 mysql>select*fromMyClass; 2)、查询前几行数据 例如: 查看表MyClass中前2行数据 mysql>select*fromMyClassorderbyidlimit0,2; 或者: mysql>select*fromMyClasslimit0,2; 6、删除表中数据 命令: deletefrom表名where表达式 例如: 删除表MyClass中编号为1的记录 mysql>deletefromMyClasswhereid=1; 7、修改表中数据: update表名set字段=新值,…where条件 mysql>updateMyClasssetname='Mary'whereid=1; 8、在表中增加字段: 命令: altertable表名add字段类型其他; 例如: 在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 mysql>altertableMyClassaddpasstestint(4)default'0' 9、更改表名: 命令: renametable原表名to新表名; 例如: 在表MyClass名字更改为YouClass mysql>renametableMyClasstoYouClass; 10、更新字段内容 update表名set字段名=新内容 update表名set字段名=replace(字段名,'旧内容','新内容'); 文章前面加入4个空格 updatearticlesetcontent=concat(' ',content); 字段类型 1).INT[(M)]型: 正常大小整数类型 2).DOUBLE[(M,D)][ZEROFILL]型: 正常大小(双精密)浮点数字类型 3).DATE日期类型: 支持的范围是1000-01-01到9999-12-31。 MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4).CHAR(M)型: 定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5).BLOBTEXT类型,最大长度为65535(2^16-1)个字符。 6).VARCHAR型: 变长字符串类型 五、Mysql数据库的授权 mysql>grantselect,insert,delete,create,drop on*.*(或test./user./..) to用户名@localhost identifiedby'密码'; 如: 新建一个用户帐号以便可以访问数据库,需要进行如下操作: mysql>grantusage ->ONtest.* ->TOtestuser@localhost; QueryOK,0rowsaffected(0.15sec) 此后就创建了一个新用户叫: testuser,这个用户只能从localhost连接到数据库并可以连接到test数据库。 下一步,我们必须指定testuser这个用户可以执行哪些操作: mysql>GRANTselect,insert,delete,update ->ONtest.* ->TOtestuser@localhost; QueryOK,0rowsaffected(0.00sec) 此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。 现在我们结束操作并退出MySQL客户程序 SQL基本语法 一.SELECT语句的完整语法: SELECT[ALL|DISTINCT|DISTINCTROW|TOP] {|talbe.|[table.]field1[ASalias1][,[table.]field2[ASalias2][,…]]} FROMtableexpression[,…][INexternaldatabase] [WHERE…] [GROUPBY…] [HAVING…] [ORDERBY…] [WITHOWNERACCESSOPTION] 说明: 用中括号([])括起来的部分表示是可选的,用大括号({})括起来的部分是表示必须从中选择其中的一个。 1FROM子句 FROM子句指定了SELECT语句中字段的来源。 FROM子句后面是包含一个或多个的表达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或由INNERJOIN、LEFTJOIN或RIGHTJOIN得到的复合结果。 如果表或查询存储在外部数据库,在IN子句之后指明其完整路径。 例: 下列SQL语句返回所有有定单的客户: SELECTOrderID,Customer.customerID FROMOrdersCustomers WHEREOrders.CustomerID=Customers.CustomeersID 2ALL、DISTINCT、DISTINCTROW、TOP谓词 (1)ALL返回满足SQL语句条件的所有记录。 如果没有指明这个谓词,默认为ALL。 例: SELECTALLFirstName,LastName FROMEmployees (2)DISTINCT如果有多个记录的选择字段的数据相同,只返回一个。 (3)DISTINCTROW如果有重复的记录,只返回一个 (4)TOP显示查询头尾若干记录。 也可返回记录的百分比,这是要用TOPNPERCENT子句(其中N表示百分比) 例: 返回5%定货额最大的定单 SELECTTOP5PERCENT* FROM[OrderDetails] ORDERBYUnitPrice*Quantity*(1-Discount)DESC 3用AS子句为字段取别名 如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了一个新的值,希望把它放到一个新的列里显示,则用AS保留。 例: 返回FirstName字段取别名为NickName SELECTFirstNameASNickName,LastName,City FROMEmployees 例: 返回新的一列显示库存价值 SELECTProductName,UnitPrice,UnitsInStock,UnitPrice*UnitsInStockASvalueInStock FROMProducts 二.WHERE子句指定查询条件 1比较运算符 比较运算符含义 =等于 >大于 <小于 >=大于等于 <=小于等于 <>不等于 ! >不大于 ! <不小于 例: 返回96年1月的定单 SELECTOrderID,CustomerID,OrderDate FROMOrders WHEREOrderDate>#1/1/96#ANDOrderDate<#1/30/96# 注意: McirosoftJETSQL中,日期用‘#’定界。 日期也可以用Datevalue()函数来代替。 在比较字符型的数据时,要加上单引号’’,尾空格在比较中被忽略。 例: WHEREOrderDate>#96-1-1# 也可以表示为: WHEREOrderDate>Datevalue(‘1/1/96’) 使用NOT表达式求反。 例: 查看96年1月1日以后的定单 WHERENotOrderDate<=#1/1/96# 2范围(BETWEEN和NOTBETWEEN) BETWEEN…AND…运算符指定了要搜索的一个闭区间。 例: 返回96年1月到96年2月的定单。 WHEREOrderDateBetween#1/1/96#And#2/1/96# 3列表(IN,NOTIN) IN运算符用来匹配列表中的任何一个值。 IN子句可以代替用OR子句连接的一连串的条件。 例: 要找出住在London、Paris或Berlin的所有客户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MYSQL 常用命令 SQL 基本 语法