
*要以 结束*在终端写代码时先写在记事本里这样写错后容易修改*sql语言中等于就是 查看具有哪些数据库showdatabases;创建数据库createdatabase数据库名称(charset字符集);删除数据库dropdatabase数据库名称;选择库选择库use库名;查看数据库下的所有表showtables;创建表 creattable表名(字段名 数据类型 约束 ······);eg.createtableuser(idintkeyauto_increment,namechar(20)notnull,年龄int);#如果使用了中文窗口报错出现 ERROR 1300 (HY000): Invalid utf8 character string: \xC4\xEA\xC1\xE4#就临时改一下字符 mysql set names gbk;产看表结构descuser;一、数据的增删改查1.添加数据insert[into]表名(字段名,···)values(值···);eg.insertuser(name,age,sex)values(貂蝉,2,女),(吕布,3,男),(董卓,53,男),(黄忠,77,男),(诸葛亮,36,男),(刘备,55,男);2.修改数据update表名set字段名修改的值···where条件;-- (空格)这里就可以写注释了#where 条件指定的数据eg.updateusersetname貂蝉whereid3;idin(6,8,10);id5andid10;idbetween5and10;3.删除数据deletefrom表名;#将表中的所有数据全部删除但是不会影响表的自增属性比如表的id还会接着删除掉的数据继续增加truncate表名;#清空所有表数据可以清空自增属性表的id会重新从1开始deletefrom表名where条件;4.查询数据select*from表名;-- 查询所有数据select列名,列名···from表名;-- 查询指定列selectnamefrom表名where条件;给列或者表去别名as可省略-- 就是给列重新取一个名字在显示出来select列名as别名,列名as别名from表名as别名;分页查询select列名,···from表名limit起始值,每页显示的条数;#起始值开始查询数据的位置默认为0可省略排序查询select列名,···from表名orderby列名asc升序/desc(降序);模糊查询只知道查询条件中的一部分信息select列名,···from表名where条件 notlike模糊条件;#模糊条件%表示0/多个字符 _:表示一个字符 eg.查名字中带a的名字selectwherenamelike%a%;select*fromempwheredeptno(selectdeptnowherenameswith)orderbysaldesc;聚合查询对查到的数据进行一些函数处理select聚合函数列名,···from表名;最值max/min()eg.selectmaxscore最高成绩fromstudent;-- 查询student表中score的最高值平均值avg 总和sum 统计 count*统计所有记录和 count列名统计该列中所有值不为NULL的记录总和 eg.selectcountscore 总记录fromclass;-- class表中score列所有不为空的数据的总和 分组查询select聚合函数from表名where条件groupby列名having对分组后的数据再进行筛选的条件;eg.selectsex 性别,count(*)总人数fromstudentgroupbysex;-- 查询student表中男生和女生各有多少人联合查询将多个查询结果合并在同一个表中select列名,···from表名1union/unionallselect列名from表名2;eg.select*fromempwheresal2800union用unionall会有重复select*fromempwherejobmanager;-- 查找薪资大于2800 或 职位为管理员的人其他常见的函数selectdatabase;#常看当前的数据库名称selectuser:#常看当前的用户名和主机名二、据库的用户管理和权限分配创建用户createuser用户名主机名identifiedby密码;授权所有权限grantallprivilegeson*.*to用户名主机名;#刷新权限flushprivileges;授权指定wd库的指定权限select,update,insertgrantselect,update,insertonwd.*to用户名主机名;#刷新权限flushprivileges;撤销权限revoke权限列表on数据库名,表名from用户名主机名;查看权限showgrants;删除用户dropuser用户名主机名;三、数据的备份mysqldump-u用户-p用户的密码-h主机 要备份的数据库名称存储的路径 文件名称xx.sqleg.mysqldump-uroot-proot-h127.0.0.1x01d:/x01.sql-- 备份单个库mysqldump-uroot-proot-h127.0.0.1x01 y01d:/y01.sql-- 备份单个表mysqldump-uroot-proot-h127.0.0.1--databases x01 x001 d:/x01_x001.sql #备份多个库mysqldump-uroot-proot-h127.0.0.1--all-databases d:/all.sql #备份所有库四、还原备份的数据文件如果备份库时里面有创建库的命令则不再需要单独创建一个库#先要有备份好的数据文件C:\Users\CZJmysqldump-uroot-proot-h127.0.0.1x01d:/x01.sql#进入数据库C:\Users\CZJmysql-uroot-proot#创建一个新的数据库来存储还原的数据mysqlcreatedatabasex1;#进入创建好的新数据库mysqlusex1;#还原数据文件mysqlsource d:/x01.sql;