怎么样在控制台用命令行启动并使用mySQL
如何使用MySQL进行客户端连接与使用
如何使用MySQL进行客户端连接与使用在当前信息时代,数据库已成为了企业级应用和网站开发中不可或缺的一部分。
而MySQL作为一款开源的关系型数据库管理系统,被广泛运用于各个领域。
本文将探讨如何使用MySQL进行客户端连接与使用,并介绍一些常用的操作技巧。
1. 客户端连接MySQL服务器在使用MySQL之前,首先需要从官方网站下载并安装MySQL。
安装完成后,可以通过命令行窗口或者使用图形化工具进行连接。
命令行窗口是一种常用的连接方式。
在Windows系统中,可以通过"开始-运行-cmd"打开命令行窗口,然后输入以下命令连接到MySQL服务器:```mysql -h 主机名 -P 端口号 -u 用户名 -p```其中,主机名指的是MySQL服务器所在的主机名称或者IP地址,端口号默认为3306,用户名是连接到MySQL服务器的用户名,-p选项表示需要输入密码。
在Linux系统中,可以使用相应的命令行工具(如mysql)进行连接。
除了命令行窗口,还可以使用一些图形化工具来连接MySQL服务器,例如MySQL Workbench、Navicat等。
这些工具提供了更直观、方便的界面,能够轻松管理和操作数据库。
2. 数据库的创建和删除连接到MySQL服务器后,可以进行数据库的创建和删除操作。
创建数据库使用CREATE DATABASE语句,语法如下:```CREATE DATABASE 数据库名;```例如,创建名为"mydb"的数据库:```CREATE DATABASE mydb;```删除数据库使用DROP DATABASE语句,语法如下:```DROP DATABASE 数据库名;```例如,删除名为"mydb"的数据库:```DROP DATABASE mydb;```3. 数据表的创建和删除数据库中的数据以表的形式组织,因此在进行数据操作前,需要创建相应的数据表。
命令行下mysql数据库连接与操作
命令行下mysql数据库连接与操作标签: mysql数据库databasenulltabledate2012-07-16 12:41 12881人阅读评论(0) 收藏举报一、连接MySQL数据库1、连接到本机上的mysql命令行首先打开DOS窗口,然后进入目录mysql\bin(如果配置了环境变量则不需要进入此目录,配置方法是把%mysql_home%\bin加入path路径下),键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是如果-p后带有用户密码,那么-p与密码之间必须没有空格,否则让你重新输入密码.例如以下都是合法的登陆:(帐号:root 密码:123)mysql -u root -pmysql -uroot -pmysql -uroot -p123如果安装MYSQL时,超级用户root是没设置密码,直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>2、连接到远程主机上的MYSQL命令行假设远程主机的IP为:110.110.110.110,用户名为root,密码为123。
则键入以下命令:mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)3、退出MYSQL命令: exit (回车)二、操作mysql数据库4、使用SHOW语句找出在服务器上当前存在什么数据库:5、创建一个数据库abccsmysql> CREATE DATABASE abccs;注意不同操作系统对大小写的敏感。
6、选择你所创建的数据库mysql> USE abccsDatabase changed此时你已经进入你刚才所建立的数据库abccs.7、创建一个数据库表首先看现在你的数据库中存在什么表:mysql> SHOW TABLES;Empty set (0.00 sec)说明刚才建立的数据库中还没有数据库表。
mysql在cmd下启动及操作
mysql在cmd下启动及操作mysql在cmd下启动/导出操作开启1.设置环境变量将mysql安装位置对应下的bin⽂件夹的位置复制到path之中2.开启服务net start mysql57(服务名)13.进⼊mysqlmysql -hlocalhost -uroot -p 回车1其中-h代表的是服务器,-u代表⽤户,-p代表密码操作1.查看MySql的导⼊与导出的⽬录show variables like '%secure%';2.mysql数据导出为csv⽂件导出到哪⾥;怎么导,从哪⾥导出1.导出顺序SELECT INTO OUTFILE FROM#1---需要导出什么(其实已经在括号设置好了,因为全部数据导出是在对表已经操作的情况下实⾏的)SELECT *#2---从哪⾥导出(实际上先对旧表movie进⾏操作,采⽤交操作,实现属性名的重新设置(也可以不⽤更新)新旧属性名要⼀⼀对应,之后命名为新表movie_,实际上就是复制了⼀份,对原先的表没有修改)FROM (select 'mid','title','introduction','rating','releasedate' union select*from movie) movie_ #movie_就是代表要输出的表(只不过以属性的形式输出)#3---导出到哪⾥,导出到movie.csv⽂件中,旧表不能直接导⼊到movie.csv⽂件,因为会直接破坏旧表,不利于mysql的数据库的维护.#注意输出的地址斜杠是/,不是windows下的\,千万注意INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/movie.csv'#4---设置字符编码--防⽌乱码⼀般就是GBK或者utf8character set utf-8#5----导⼊规则,下⾯就是新表中字段导⼊csv表格当中的规则.# FIELDS之间分隔的标志就是",",遇到这个前⾯的就为⼀个字段.例如#"我爱你","20","相貌平常,经常耍流氓!哈哈" mysql数据格式#| id | name | age | description |#+----+----------变为----------------------------+#| 1 | 我爱你 | 20 | 相貌平常,经常耍流氓!哈哈 | csv数据格式FIELDS TERMINATED BY ','#代有双引号的词组,要先将""去除,之后放⼊csv⽂件中如上⾯的:#"我爱你"--->| 我爱你 |OPTIONALLY ENCLOSED BY '"' #意思就是双引号可选择关闭#例如电影当中的简介,⼀般⽐较长,遇到换⾏\r,那就说明简介完成了,就可以把它设置为⼀个属性.as的⽤法,起别名,给已知的列起别名引出⼀个代码:SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person.csv'FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'FROM (select 'pid','birth','death','name','biography','birthplace'unionselect person_id,person_birth_day,person_death_day,casewhen person_name is then person_english_nameelse person_name endas name,person_biography,person_birth_placefrom person) person_;涉及到两个知识点2.SELECT 属性名 ,case when then else end as 属性名 FROM 表名上⾯当中:select person_id,person_birth_day,person_death_day, #特别注意这个逗号,casewhen person_name is then person_english_nameelse person_name endas name,person_biography,person_birth_placefrom person旧的属性名(旧表person的)person_id,person_birth_day,person_death_day,#直接选出的name ,person_biography,person_birth_place #其中name是经过case when then else end这个条件选出的属性(⽤as⽣成的),其他的属性person_biography,person_birth_place则是直接选出,这点尤其要注意#两部分的属性都是在旧表person中选择的新表(person_)的属性select 'pid','birth','death','name','biography','birthplace'并且他们⼀⼀对应,–>所以我们⼀开始的select不是重点所以只需要select *就可以,主要是为了规范3.union与union all两者都是集合操作,这就要求操作的两个表的结构相同,但union是⼩并操作(消除重复),union all是⼤并操作(不消除重复),但两者都是对这两张表的结合(为了便于说明,对如下代码进⾏了删减进),SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person.csv'FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'FROM (select 'pid','birth','death'unionselect person_id,person_birth_day,person_death_day from person) person_;其数据导出的主要过程如下:先从旧表person当中选取各种属性,之后在新表(person_)之中建⽴对应的属性,然后进⾏⼀个⼩并操作(个⼈⾃定义,便于描述),因为新建的表是属性值都为空,加上与旧表的⼩并操作,,其实就相当于把旧表复制给了新表,然后新表根据导⼊规则,将表中的数据进⾏导⼊到csv⽂件当中,这样就实现了mysql数据的导出到csv⽂件当中的过程4.case函数case可以嵌套主要是解决不同情况的的不同输出.减少代码量.选修多门课程的学⽣,要选择⼀门课程作为主修,主修flag⾥⾯写⼊ Y。
(完整版)linux下mysql操作命令
linux mysql 操作命令1.linux下启动mysql的命令:mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladmin restart/ect/init.d/mysql restart (前面为mysql的安装路径)3.linux下关闭mysql的命令:mysqladmin shutdown/ect/init.d/mysql shutdown (前面为mysql的安装路径)4.连接本机上的mysql:进入目录mysql\bin,再键入命令mysql -uroot -p,回车后提示输入密码。
退出mysql命令:exit(回车)5.修改mysql密码:mysqladmin -u用户名-p旧密码password 新密码或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");6.增加新用户。
(注意:mysql环境中的命令后面都带一个分号作为命令结束符)grant select on 数据库.* to 用户名@登录主机identified by "密码"如增加一个用户test密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入mysql,然后键入以下命令:grant select,insert,update,delete on *.* to " Identified by "123";二、有关mysql数据库方面的操作必须首先登录到mysql中,有关操作都是在mysql的提示符下进行,而且每个命令以分号结束1、显示数据库列表。
show databases;2、显示库中的数据表:use mysql;//打开库show tables;3、显示数据表的结构:describe 表名;4、建库:create database 库名;GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_c hinese_ci;UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;5、建表:use 库名;create table 表名(字段设定列表);6、删库和删表:drop database 库名;drop table 表名;7、将表中记录清空:delete from 表名;truncate table 表名;8、显示表中的记录:select * from 表名;9、编码的修改如果要改变整个mysql的编码格式:启动mysql的时候,mysqld_safe命令行加入--default-character-set=gbk如果要改变某个库的编码格式:在mysql提示符后输入命令alter database db_name default character set gbk;10.重命名表alter table t1 rename t2;11.查看sql语句的效率explain < table_name >例如:explain select * from t3 where id=3952602;12.用文本方式将数据装入数据库表中(例如D:/mysql.txt)mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;三、数据的导入导出1、文本数据转到数据库中文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。
cmd命令窗口连接mysql的命令大全
cmd命令窗⼝连接mysql的命令⼤全连接:mysql -h主机地址 -u⽤户名-p⽤户密码(注:u与root可以不⽤加空格,其它也⼀样)断开:exit (回车)创建授权:grant select on 数据库.* to ⽤户名@登录主机 identified by \"密码\"修改密码:mysqladmin -u⽤户名 -p旧密码 password 新密码删除授权: revoke select,insert,update,delete om *.* fromtest2@localhost;显⽰数据库:show databases;显⽰数据表:show tables;显⽰表结构:describe 表名;创建库:create database 库名;删除库:drop database 库名;使⽤库:use 库名;创建表:create table 表名 (字段设定列表);删除表:drop table 表名;修改表:alter table t1 rename t2查询表:select * from 表名;清空表:delete from 表名;备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasenametablename > tablename.sql恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasenametablename < tablename.sql(操作前先把原来表删除)增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADDINDEX (c);修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b cCHAR(20);删除列:ALTER TABLE t2 DROP COLUMN c;备份数据库:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename> database.sql恢复数据库:mysql\bin\mysql -h(ip) -uroot -p(password) databasename< database.sql复制数据库:mysql\bin\mysqldump --all-databases >all-databases.sql修复数据库:mysqlcheck -A -o -uroot -p54safer⽂本数据导⼊: load data local infile \"⽂件名\" into table 表名;数据导⼊导出:mysql\bin\mysqlimport database tables.txt第⼀招、mysql服务的启动和停⽌net stop mysqlnet start mysql第⼆招、登陆mysql语法如下: mysql -u⽤户名-p⽤户密码键⼊命令mysql -uroot -p,回车后提⽰你输⼊密码,输⼊12345,然后回车即可进⼊到mysql中了,mysql的提⽰符是:mysql>注意,如果是连接到另外的机器上,则需要加⼊⼀个参数-h机器IP第三招、增加新⽤户格式:grant 权限 on 数据库.* to ⽤户名@登录主机 identified by "密码"如,增加⼀个⽤户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插⼊、修改、删除的权限。
linux中mysql 基本命令
linux中mysql 基本命令MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。
在Linux系统中,MySQL也是一种常用的数据库管理工具。
本文将介绍MySQL在Linux系统中的基本命令。
1. 登录MySQL在Linux系统中,可以通过以下命令登录MySQL:```mysql -u username -p```其中,username为MySQL的用户名,-p表示需要输入密码。
输入密码后,即可进入MySQL的命令行界面。
2. 创建数据库在MySQL中,可以通过以下命令创建数据库:```CREATE DATABASE database_name;```其中,database_name为需要创建的数据库名称。
创建成功后,可以通过以下命令查看所有数据库:```SHOW DATABASES;```3. 删除数据库在MySQL中,可以通过以下命令删除数据库:```DROP DATABASE database_name;```其中,database_name为需要删除的数据库名称。
删除前需要确认是否真的需要删除,以免误操作。
4. 创建表在MySQL中,可以通过以下命令创建表:```CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,.....);```其中,table_name为需要创建的表名称,column为表中的列名,datatype为列的数据类型。
创建成功后,可以通过以下命令查看所有表:```SHOW TABLES;```5. 删除表在MySQL中,可以通过以下命令删除表:```DROP TABLE table_name;```其中,table_name为需要删除的表名称。
删除前需要确认是否真的需要删除,以免误操作。
6. 插入数据在MySQL中,可以通过以下命令插入数据:```INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);```其中,table_name为需要插入数据的表名称,column为表中的列名,value为需要插入的值。
mysql操作语句 dos命令
Mysql dos操作语句一. 安装与配置MYSQL二. 常用mysql命令行命令1 .mysql的启动与停止启动MYSQL服务net start mysql停止MYSQL服务net stop mysql2 . netstat –na | findstr 3306 查看被监听的端口, findstr用于查找后面的端口是否存在3 . 在命令行中登陆MYSQL控制台, 即使用MYSQL COMMEND LINE TOOL语法格式mysql –user=root –password=123456 db_name或mysql –u root –p123456 db_name4 . 进入MYSQL命令行工具后, 使用status; 或\s 查看运行环境信息5 . 切换连接数据库的语法: use new_dbname;6 . 显示所有数据库: show databases;7 . 显示数据库中的所有表: show tables;8 . 显示某个表创建时的全部信息: show create table table_name;9 . 查看表的具体属性信息及表中各字段的描述Describe table_name; 缩写形式: desc table_name;三。
MySql中的SQL语句1 . 数据库创建: Create database db_name;数据库删除: Drop database db_name; 删除时可先判断是否存在,写成: drop database if exits db_name2 . 建表: 创建数据表的语法: create table table_name (字段1 数据类型, 字段2 数据类型);例: create table mytable (id int , username char(20));删表: drop table table_name; 例: drop table mytable;8 . 添加数据: Insert into 表名[(字段1 , 字段2 , ….)] values (值1 , 值2 , …..);如果向表中的每个字段都插入一个值,那么前面[ ] 括号内字段名可写也可不写例: insert into mytable (id,username) values (1,’zhangsan’);9 . 查询: 查询所有数据: select * from table_name;查询指定字段的数据: select 字段1 , 字段2 from table_name;例: select id,username from mytable where id=1 order by desc;多表查询语句------------参照第17条实例10 . 更新指定数据, 更新某一个字段的数据(注意,不是更新字段的名字)Update table_name set 字段名=’新值’ [, 字段2 =’新值’ , …..][where id=id_num] [order by 字段顺序]例: update mytable set username=’lisi’ where id=1;Order语句是查询的顺序, 如: order by id desc(或asc) , 顺序有两种: desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select 与删除delete11 . 删除表中的信息:删除整个表中的信息: delete from table_name;删除表中指定条件的语句: delete from table_name where 条件语句; 条件语句如: id=3;12 . 创建数据库用户一次可以创建多个数据库用户如:CREA TE USER username1 identified BY‘password’ , username2 IDENTIFIED BY ‘password’….13 . 用户的权限控制:grant库,表级的权限控制: 将某个库中的某个表的控制权赋予某个用户Grant all ON db_name.table_name TO user_name [ indentified by ‘password’ ];14 . 表结构的修改(1)增加一个字段格式:alter table table_name add column (字段名字段类型); ----此方法带括号(2)指定字段插入的位置:alter table table_name add column 字段名字段类型after 某字段;删除一个字段:alter table table_name drop字段名;(3)修改字段名称/类型alter table table_name change 旧字段名新字段名新字段的类型;(4)改表的名字alter table table_name rename to new_table_name;(5)一次性清空表中的所有数据truncate table table_name; 此方法也会使表中的取号器(ID)从1开始15 . 增加主键,外键,约束,索引。
mysql8.0使用方法
mysql8.0使用方法MySQL 8.0是一种常用的关系型数据库管理系统,下面我将从多个角度来介绍MySQL 8.0的使用方法。
1. 安装MySQL 8.0:下载MySQL 8.0的安装程序(可从MySQL官方网站下载)。
运行安装程序,按照提示进行安装。
在安装过程中,你可以选择安装MySQL Server和MySQL Workbench等组件。
2. 启动MySQL服务:在Windows上,可以在开始菜单中找到MySQL,并选择启动MySQL服务。
在Linux上,可以使用命令行启动MySQL服务,如`sudo systemctl start mysql`。
3. 连接到MySQL服务器:在Windows上,可以使用MySQL Workbench或命令行工具(如MySQL Shell)连接到MySQL服务器。
在Linux上,可以使用命令行工具(如mysql命令)连接到MySQL服务器。
4. 创建数据库:连接到MySQL服务器后,可以使用`CREATE DATABASE`语句创建数据库,例如,`CREATE DATABASE mydatabase;`。
5. 创建表:在已创建的数据库中,可以使用`CREATE TABLE`语句创建表,例如,`CREATE TABLE mytable (id INT, name VARCHAR(50));`。
6. 插入数据:使用`INSERT INTO`语句向表中插入数据,例如,`INSERT INTO mytable (id, name) VALUES (1, 'John');`。
7. 查询数据:使用`SELECT`语句从表中查询数据,例如,`SELECT FROM mytable;`。
8. 更新数据:使用`UPDATE`语句更新表中的数据,例如,`UPDATE mytable SET name = 'Jane' WHERE id = 1;`。
MYSQL控制台命令
mysql控制台部分命令关键字: 数据库mysql控制台部分命令1,启动和关闭数据库>net start mysql>net stop mysql所以命令必须是一行的第一个,并且以分号结尾:All text commands must be first on line and end with ";"2,根据用户名密码,登录数据库>mysql -uroot -p;如果数据库没有密码则使用>mysql -uroot;3,查看在当前服务器中有多少个数据库>show databases;4,删除某个数据库>drop database databaseName;>commit;5,创建数据库>create database databaseName;6,选择使用某个数据库>use databaseName;7,查看数据库中有多少的表>show tables;8,创建表>create table tableName(id bigint ...name varchar(20)......);9,显示表结构>describe tableName;10,向表中加入数据并查看>insert into tableName(id,name...) values('1','admin',...);>select * from tableName;11,导入.sql文件(文件所在路径是F:\file.sql>source F:/file.sql;12,删除表>drop table tableName;13,删除表中的所有数据,但是表结构依然存在>delete from tableName;14,更新表中的数据,如果没有where,则将影响所有的记录>update tableName set name='administrator' where id='1';15,查看服务器版本和当前日期>select version(),current_date;>select version();>select now();16,把mysql作为一个简单的计算器>select pi();>select pi()*10;17,查看用户>select user();18,使用load>load data local infile filePath into table tableName;一、连接MYSQL。
mysql通过cmd在命令行创建数据库
mysql通过cmd在命令⾏创建数据库 ⼀、连接MYSQL 格式: mysql -h主机地址 -u⽤户名 -p⽤户密码 1、连接到本机上的MYSQL。
⾸先打开DOS窗⼝,然后进⼊⽬录mysql\bin,再键⼊命令mysql -u root -p,回车后提⽰你输密码.注意⽤户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输⼊密码. 如果刚安装好MYSQL,超级⽤户root是没有密码的,故直接回车即可进⼊到MYSQL中了,MYSQL的提⽰符是: mysql> 2、连接到远程主机上的MYSQL。
假设远程主机的IP为:110.110.110.110,⽤户名为root,密码为abcd123。
则键⼊以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不⽤加空格,其它也⼀样) 3、退出MYSQL命令: exit (回车) ⼆、修改密码 格式:mysqladmin -u⽤户名 -p旧密码 password 新密码。
例如 1、给root加个密码ab12。
⾸先在DOS下进⼊⽬录mysql\bin,然后键⼊以下命令 mysqladmin -u root -password ab12 2、再将root的密码改为djg345。
mysqladmin -u root -p ab12 password ****** 三、创建数据库 1、 CREATE DATABASE 数据库名; 2、 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码'; 3、 SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码'); 依次执⾏3个命令完成数据库创建。
mysql控制台指令
1、例1:连接到本机上的MYSQL。
首先在打开DOS 窗口,然后进入目录mysql\bin,再键入命令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。
mysql 常用命令用法总结
mysql 常用命令用法总结一、启动与退出1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。
此时的提示符是:mysql>2、退出MySQL:quit或exit二、库操作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 changed5、当前选择(连接)的数据库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> desc MyClass;mysql> show columns from MyClass;3、删除表命令:drop table <表名>例如:删除表名为MyClass 的表mysql> drop table MyClass;4、插入数据命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]例如,往表MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5.mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);5、查询表中的数据1)、查询所有行命令:select <字段1,字段2,...> from < 表名> where < 表达式>例如:查看表MyClass 中所有数据mysql> select * from MyClass;2)、查询前几行数据例如:查看表MyClass 中前2行数据mysql> select * from MyClass order by id limit 0,2;6、删除表中数据命令:delete from 表名where 表达式例如:删除表MyClass中编号为1 的记录mysql> delete from MyClass where id=1;7、修改表中数据:update 表名set 字段=新值,…where 条件mysql> update MyClass set name='Mary' where id=1;7、在表中增加字段:命令:alter table 表名add字段类型其他;例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0mysql> alter table MyClass add passtest int(4) default '0'8、更改表名:命令:rename table 原表名to 新表名;例如:在表MyClass名字更改为YouClassmysql> rename table MyClass to YouClass;更新字段内容update 表名set 字段名= 新内容update 表名set 字段名= replace(字段名,'旧内容','新内容');文章前面加入4个空格update article set content=concat('',content);字段类型1.INT[(M)] 型:正常大小整数类型2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(双精密)浮点数字类型3.DA TE 日期类型:支持的范围是1000-01-01到9999-12-31。
各平台MySQL启动停止命令
linux平台及windows平台mysql重启方法Linux下重启MySQL的正确方法:1、通过rpm包安装的MySQLservice mysqld restart2、从源码包安装的MySQL// linux关闭MySQL的命令$mysql_dir/bin/mysqladmin -uroot -p shutdown// linux启动MySQL的命令$mysql_dir/bin/mysqld_safe &其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。
3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏步骤或方法:RedHat Linux (Fedora Core/Cent OS)1.启动:/etc/init.d/mysqld start2.停止:/etc/init.d/mysqld stop3.重启:/etc/init.d/mysqld restartDebian / Ubuntu Linux1.启动:/etc/init.d/mysql start2.停止:/etc/init.d/mysql stop3.重启:/etc/init.d/mysql restartWindows1.点击“开始”->“运行”(快捷键Win+R)。
2.启动:输入net stop mysql3.停止:输入net start mysql提示* Redhat Linux 也支持service command,启动:# service mysqld start 停止:# service mysqld stop 重启:# service mysqld restart* Windows下不能直接重启(restart),只能先停止,再启动。
mysql授权、启动、启动服务常用命令
mysql授权、启动、启动服务常⽤命令⼀、四种启动⽅式:1、mysqld启动mysql服务器: ./mysqld --defaults-file=/etc/f --user=root客户端连接: mysql --defaults-file=/etc/f 或 mysql -S /tmp/mysql.sock2、mysqld_safe启动mysql服务器: ./mysqld_safe --defaults-file=/etc/f --user=root &客户端连接: mysql --defaults-file=/etc/f 或 mysql -S /tm/mysql.sock3、mysql.servercp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/chkconfig --add mysql.server启动mysql服务器:service mysql.server {start|stop|restart|reload|force-reload|status}客户端连接: 同1、24、mysqld_multimkdir $MYSQL_BASE/data2cat <<-EOF>> /etc/f[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /user/local/mysql/bin/mysqladminuser = mysqladminpassword = mysqladmin[mysqld3306]port = 3306socket = /tmp/mysql3306.sockpid-file = /tmp/mysql3306.pidskip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mbasedir = /usr/local/mysqldatadir = /usr/local/mysql/data[mysqld3307]port = 3307socket = /tmp/mysql3307.sockpid-file = /tmp/mysql3307.pidskip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mbasedir = /usr/local/mysqldatadir = /usr/local/mysql/data2EOF#mysql -S /tmp/mysql3306.sockmysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost' identified by 'mysqladmin' with grant option;#mysql -S /tmp/mysql3307.sockmysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost' identified by 'mysqladmin' with grant option;启动mysql服务器:./mysqld_multi --defaults-file=/etc/f start 3306-3307关闭mysql服务器:mysqladmin shutdown⼆、启动和关闭mysql服务1. windows下:启动: mysqld --console 或 net start mysql关闭: mysqladmin -u root shutdown 或 net stop mysqllinux下:启动: service mysql start停⽌: service mysql stop重启服务: service mysql restart三、创建⽤户分配权限1. 新建⽤户: 创建⼀个名为: buff,密码为: buff的⽤户// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 新建⽤户mysql>insert into er(Host,User,Password) values("localhost","buff",password("buff"));// 刷新系统权限表mysql>flush privileges;登录测试mysql>exit// ⽤户 buff 登陆 MySQLmysql -ubuff -pEnter password:mysql>// 说明新建的⽤户buff登录成功⽤户授权// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 为⽤户 buff 创建⼀个数据库 bluebuffmysql>create database bluebuff;// 授权⽤户 buff 拥有数据库 bluebuff 的所有权限mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff';mysql>flush privileges;登录测试// ⽤户 buff 登陆数据库mysql -ubuff -pEnter privileges:// 显⽰数据库mysql>show databases;结果如下图所⽰,说明为⽤户 buff 授权成功5、修改⽤户 buff 的密码// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 修改⽤户 buff 的密码mysql>update table er set password=password('buffer') where User='buff' and Host='localhost';mysql>flush privileges;6、删除⽤户// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 删除⽤户 buffmysql>delete from er where User = 'buff' and Host = 'localhost';mysql>flush privileges;7、删除数据库mysql>drop database bluebuff;四、查看⽤户授予的权限在mysql中,授予⽤户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、⼦程序层级权限1. 全局层级:全局权限适⽤于⼀个给定服务器中的所有数据库。
mysqlcmd命令
mysqlcmd命令cmd 远程登陆MySQL数据库,步骤如下:1. mysql -h 127.0.0.1 -u root -p 输⼊完命令,随后回车即可。
2. 输⼊密码即可登陆成功。
MySQL 的 CMD 命令,如下所⽰:1.show databases;e lesson; //数据库名3.show tables [from lesson] 这条命令是显⽰制定数据库中的所有表信息;4.show columns from student 或者 show columns from lesson.student5.show table status⾥⾯有创建时间、更新时间6.alter table student add index index_student_name (student_name); //这⾥直接写列名即可,不⽤加括号。
相应的删除索引命令:alter table student drop index index_student_name; //删除索引7. alter table student add index index_multi_columns(student_id,student_name); //这是多列共同索引8.drop index index_student_name on student; //删除索引或者alter table hello drop index helloworld; //helloworld为新建的索引名称9.alter table hello add primary key (address);//因为创建主键时,会⾃动创建关于主键的索引,所以,创建primary key索引相当于创建primary key。
10.删除主键alter table hello drop primary key;11.增加唯⼀性约束alter table hello add unique(hahahahaha);12.列操作alter table hello add column birthday varchar(20);alter table hello drop column birthday;alter table hello modify hahahahaha varchar(30);备注:命令⾏窗⼝中登录;mysql -u -root -p输⼊ xiaomiset names utf8truncate table t_cost_type //删除表中的所有内容,并且⾃增长ID重新从1开始计数show databases;create database lesson;use lesson;//创建student数据库create table student( id int primary key, name varchar(30) , age int , des varchar(50) ); //展⽰列信息show columns from t_accounts_payable;//增加列属性alter table student add column name varchar(35);//修改列属性(列名称+列属性)alter table student modify name varchar(36);alter table table_name old_column_name new_column_name int null;sql语句:insert 时,varchar 类型的数据两边⼀定加上 ' '//删除列属性alter table student drop column name;alter table student change column name name varchar(30) not null;。
cmd执行mssql脚本或者执行mysql脚本
cmd执⾏mssql脚本或者执⾏mysql脚本1private static int ExecuteMSSql(DbInfo db, string sqlPath)2 {3 Console.WriteLine("=================================================================");4 Console.WriteLine("==========当前执⾏的mssql脚本:"+sqlPath);5 Console.WriteLine("=================================================================");6if (db != null)7 {8 System.Diagnostics.Process p = new System.Diagnostics.Process();9 p.StartInfo.FileName = "cmd.exe";//要执⾏的程序名称10 eShellExecute = false;11 p.StartInfo.RedirectStandardInput = true;//可能接受来⾃调⽤程序的输⼊信息12 p.StartInfo.RedirectStandardOutput = true;//由调⽤程序获取输出信息13 p.StartInfo.CreateNoWindow = true;//不显⽰程序窗⼝14 p.Start();15string Command = string.Format(@"sqlcmd -U{0} -P{1} -S{2} -d{3} -b -i {4}", er, db.Password, db.Server, db.Database, sqlPath);16 p.StandardInput.WriteLine(Command); //向CMD窗⼝发送输⼊信息:17 p.StandardInput.WriteLine("exit");18 p.WaitForExit();19string sOutput = p.StandardOutput.ReadToEnd();//获取CMD窗⼝的输出信息,必须放在WaitForExit后⾯20 Console.WriteLine(sOutput);//输出CMD执⾏的返回信息,21int rt = p.ExitCode;//CMD返回值,成功为0失败为1 必须放在WaitForExit后⾯.在执⾏的Command⾥⾯必然加上-b,否则⼀直返回O22 p.Close();23 Console.WriteLine(sOutput);24if (rt == 1)25 {26 Console.WriteLine("=================================================================");27 Console.WriteLine("==========返回值:-9,mysql脚本执⾏出错,没有返回执⾏成功结果");28 Console.WriteLine("==========mysql脚本:"+sqlPath);29 Console.WriteLine("=================================================================");30return -9;//脚本错误31 }32else33 { return0; }34 }35else36 {37 Console.WriteLine("=================================================================");38 Console.WriteLine("==========返回值:-8,mysql数据库连接读取失败,为Null");39 Console.WriteLine("=================================================================");40return -8;//数据库连接读取失败41 }4243 }4445private static int ExecuteMySql(DbInfo db, string sqlPath)46 {47 Console.WriteLine("=================================================================");48 Console.WriteLine("==========当前执⾏的mysql脚本:"+sqlPath);49 Console.WriteLine("=================================================================");50if (db != null)51 {69 Process myProcess = new Process();70 myProcess.StartInfo = new ProcessStartInfo();72 eShellExecute = false;73 myProcess.StartInfo.FileName = "cmd.exe";74string Command = string.Format("/c mysql.exe --host={0} -u{1} -p{2} --default-character-set=utf8 {3} -v -E < \"{4}\"", db.Server, er, db.Password, db.Database, sqlPath);75 myProcess.StartInfo.Arguments = Command;76 myProcess.Start();77 myProcess.WaitForExit();78int rt = myProcess.ExitCode;//CMD返回值,成功为0失败为1 必须放在WaitForExit后⾯.在执⾏的Command⾥⾯必然加上-b,否则⼀直返回O79if (rt == 1)80 {81 Console.WriteLine("=================================================================");82 Console.WriteLine("==========返回值:-9,mssql脚本执⾏出错脚本出错");83 Console.WriteLine("==========mssql脚本:"+sqlPath);84 Console.WriteLine("=================================================================");85 Console.WriteLine("");86return -9;//脚本错误87 }88else89 { return0; }90 }91else92 {93 Console.WriteLine("=================================================================");94 Console.WriteLine("==========返回值:-8,mssql数据库连接读取失败,为Null");95 Console.WriteLine("=================================================================");96return -8;//数据库连接读取失败97 }98 }。
MySQL命令行操作教程
MySQL命令⾏操作教程1.登录mysql[root@host]# mysql -u root -pEnter password:******2.管理MySQL的命令(1)SHOW DATABASES:列出 MySQL 数据库管理系统的数据库列表。
(2)USE 数据库名 :选择要操作的Mysql数据库,使⽤该命令后所有Mysql命令都只针对该数据库。
(3)SHOW TABLES:显⽰指定数据库的所有表,使⽤该命令前需要使⽤ use 命令来选择要操作的数据库。
(4)SHOW COLUMNS FROM 数据表:显⽰数据表的属性,属性类型,主键信息,是否为 NULL,默认值等其他信息。
(5)SHOW INDEX FROM 数据表:显⽰数据表的详细索引信息,包括PRIMARY KEY(主键)。
(6)SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:该命令将输出Mysql数据库管理系统的性能及统计信息。
mysql> SHOW TABLE STATUS FROM RUNOOB; # 显⽰数据库 RUNOOB 中所有表的信息mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob开头的表的信息mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查询结果按列打印3.DDL 操作表(1)创建部门表create table t_dept(dept_id int primary key auto_increment,dept_name varchar(20) not null);(2)创建员⼯表drop table if exists t_emp; 如果这个表存在删除后重新创建create table t_emp(emp_id int primary key auto_increment,emp_name varchar(20) not null,emp_sex char(3) not null,dept_id int not null);(3)添加外键约束alter table t_emp add constraint FK_EMP_DEPT foreign key(dept_id) references t_dept(dept_id);(4)给员⼯表添加薪资列alter table t_emp add(emp_salary int(5) not null);alter table t_emp add(emp_mail varchar(30) not null);-- 如果增加⼀列,并且这⼀列有默认值,⽽且是⾮空列alter table t_emp add (emp_mail varchar(30) not null default 'default@');(5)修改列 [modify只能修改列的类型和约束默认值,change可以修改列的名及类型和约束]alter table t_emp modify emp_salary double(6,1) not null; // 99999.9alter table t_emp change emp_salary salary double(5,1) not null;(6)删除列alter table t_emp drop emp_mail;(6重命名表名alter table t_emp rename to tb_emp;4.DML(数据操作语⾔INSERT, DELETE, UPDATE)主要对数据库中表的数据操作1.增加数据(insert into 表名名称(字段名1,字段名2,.....) values (值1,值2,.....)-- 插⼊指定字段的值-> 前提: 没有插⼊的字段是可以为null或者有默认值insert into tb_emp (emp_name, emp_sex, emp_mail) values ('信誉昂','男','xinyang@');-- 插⼊所有字段insert into tb_emp (emp_name, emp_sex, dept_id, salary, emp_mail) values ('张三','⼥',2,5000,'zhangsan@'); insert into tb_emp values (null,'⼤乔','⼥',2,5000,'zhangsan@');-- 批量插⼊insert into tb_emp values (null,'赵柳','男',2,5000,'zhangsan@'),(null,'阳阳','⼥',2,6000,'zhangsan@'); 2.删除数据(delete from 表名 <where 删除条件>)-- 按照条件删除(经常使⽤)delete from tb_emp where emp_id = 1;-- 删除所有数据(学习的时候尝试⼀下,开发中禁⽌使⽤)delete from t_login; -- 删除表中所有数据,不会重置主键值-- 清空表,重置主键值truncate table t_login;3.修改数据(update 表名 set 字段名1 = 值1, 字段名2 = 值2,..... [where 修改条件])-- 修改字段值update tb_emp set emp_mail='daqiao@' where emp_id = 10002;update tb_emp set emp_mail='xiaoqiao@',dept_id = 1 where emp_id = 10001;--不带条件的修改[修改必须带上条件]update tb_emp set salary = 8000;5.DCL(数据控制语⾔)(1)创建⽤户(CREATE USER '账号'@'主机名/IP' IDENTIFIED BY '密码'// 没有任何操作数据表的权限create user 'sun'@'localhost' identified by '123';(2)授予⽤户权限(GRANT privileges ON databasename.tablename TO 'username'@'host')注意: host必须和创建⽤户使⽤host是⼀致。
mysql启动命令
mysql启动命令/etc/fcentos7之后启动命令是 systmctl start mysqld了====================================可使⽤如下命令启动MySQL:service mysqld start或者使⽤如下命令:/etc/init.d/mysqld start可使⽤如下命令重新启动MySQL:service mysqld restart或者使⽤如下命令:/etc/init.d/mysqld restartsystemctl status mysqld.service" and "journalctl -xe#vi /var/log/mysqld.log/usr/sbin/mysqld: Binary logging not possible. Message: Either disk is full or file system is read only while rotating the binlog. Aborting the server.2019-11-11T06:27:02.195037Z 2619 [ERROR] /usr/sbin/mysqld: Binary logging not possible. Message: Either disk is full or file system is read only while rotating the binlog. Aborting the server. 06:27:02 UTC - mysqld got signal 6 ;This could be because you hit a bug. It is also possible that this binaryor one of the libraries it was linked against is corrupt, improperly built,or misconfigured. This error can also be caused by malfunctioning hardware.Attempting to collect some information that could help diagnose the problem.As this is a crash and something is definitely wrong, the informationcollection process might fail.key_buffer_size=8388608read_buffer_size=131072max_used_connections=46max_threads=151thread_count=13connection_count=13It is possible that mysqld could use up tokey_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68196 K bytes of memoryHope that's ok; if not, decrease some variables in the equation.Thread pointer: 0x7fe7984d4790Attempting backtrace. You can use the following information to find outwhere mysqld died. If you see no messages after this, something wentterribly wrong...stack_bottom = 7fe7f55dfe30 thread_stack 0x40000/usr/sbin/mysqld(my_print_stacktrace+0x3b)[0xf07d6b]/usr/sbin/mysqld(handle_fatal_signal+0x461)[0x7b97f1]/lib64/libpthread.so.0(+0xf5d0)[0x7fe82cbdc5d0]/lib64/libc.so.6(gsignal+0x37)[0x7fe82b5c62c7]/lib64/libc.so.6(abort+0x148)[0x7fe82b5c79b8]/usr/sbin/mysqld[0xe91c11]/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG13new_file_implEbP28Format_description_log_event+0x4d5)[0xe9a3c5]/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG6rotateEbPb+0x3e)[0xe9a43e]/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG16rotate_and_purgeEP3THDb+0x8a)[0xea056a]/usr/sbin/mysqld(_Z20reload_acl_and_cacheP3THDmP10TABLE_LISTPi+0x50f)[0xd0203f]/usr/sbin/mysqld(_Z16dispatch_commandP3THDPK8COM_DATA19enum_server_command+0x1d26)[0xcd5bb6]/usr/sbin/mysqld(_Z10do_commandP3THD+0x19f)[0xcd63df]/usr/sbin/mysqld(handle_connection+0x290)[0xd98320]/usr/sbin/mysqld(pfs_spawn_thread+0x1b4)[0x1280284]/lib64/libpthread.so.0(+0x7dd5)[0x7fe82cbd4dd5]/lib64/libc.so.6(clone+0x6d)[0x7fe82b68e02d]Trying to get some variables.Some pointers may be invalid and cause the dump to abort.Query (0): Connection ID (thread ID): 2619Status: NOT_KILLEDThe manual page at /doc/mysql/en/crashing.html containsinformation that should help you find out what is causing the crash.2019-11-11T06:27:02.891454Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-11-11T06:27:02.893394Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.26-log) starting as process 24666 ...mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)2019-11-11T06:27:02.925003Z 0 [ERROR] Aborting2019-11-11T06:27:02.925027Z 0 [Note] Binlog end2019-11-11T06:27:02.925110Z 0 [Note] /usr/sbin/mysqld: Shutdown complete2019-11-11T06:27:03.263701Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-11-11T06:27:03.265621Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.26-log) starting as process 24688 ...mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)2019-11-11T06:27:03.267399Z 0 [ERROR] Aborting2019-11-11T06:27:03.267423Z 0 [Note] Binlog end2019-11-11T06:27:03.267486Z 0 [Note] /usr/sbin/mysqld: Shutdown complete2019-11-11T06:27:03.761099Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-11-11T06:27:03.763012Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.26-log) starting as process 24724 ...mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)2019-11-11T06:27:03.764843Z 0 [ERROR] Aborting2019-11-11T06:27:03.764866Z 0 [Note] Binlog end2019-11-11T06:27:03.764928Z 0 [Note] /usr/sbin/mysqld: Shutdown complete2019-11-11T06:27:04.261590Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-11-11T06:27:04.263519Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.26-log) starting as process 24760 ...mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)2019-11-11T06:27:04.265292Z 0 [ERROR] Aborting2019-11-11T06:27:04.265315Z 0 [Note] Binlog end2019-11-11T06:27:04.265406Z 0 [Note] /usr/sbin/mysqld: Shutdown complete2019-11-11T06:27:04.761710Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-11-11T06:27:04.763210Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.26-log) starting as process 24783 ...mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)。
MySQL数据库操作语句(cmd环境运行)
MySQL数据库操作语句(cmd环境运⾏)⼀.开启MySQL服务器1,通过windows提供的服务管理器来完成windows键+R 输⼊: services.msc2.在本地服务中打开其服务3.在DOC命令⾏下1 net stop mysql2 net start mysql4.利⽤bin⽬录的mysqld来开启1 mysqld --defaults-file="G:/amp/mysql/my.ini"⼆.客户端连接服务器1 mysql -uroot -p登录数据库之后1 # 告诉MySQL服务器,当前客户端使⽤的是gbk编码2set names gbk;操作数据库的三步曲(数据库的初始化操作):1,连接数据库2,设置默认的字符集3,选择默认的数据库注意:选择了默认的数据库,只会影响默认的操作,⼀样可以操作其他的数据库!三.MySQL的帮助命令帮助命令⾥⾯的命令都可以⽤' \ ' 加⾸字母1 help2 \h四.MySQL注释符单⾏注释:1 # 注释内容2 -- 注释内容,这⾥的—与注释内容之间必须有⼀个空格!多⾏注释1/* 注释内容 */五.数据库操作(DDL)DDLDDL:Data Definition Language,数据定义语⾔主要是⽤来定义和维护数据库的各⾃操作对象(⽐如库、表、视图等),也可以说操作的层次是在数据库的库和表的逻辑结构和存储结构上⾯,并没有对表中的实际的数据进⾏增删改查等操作!主要的关键字有:create、drop、alter、showDMLDML:Data Manipulation Language,数据操作语⾔主要就是对表中的记录进⾏增删改查的操作!其中“查询”部分,⼜叫做DQL(Data Query Language)!主要的关键字:insert、delete、update、selectDCLDCL:Data Control Language,数据控制语⾔主要是对数据库进⾏⼀些统⼀的管理和控制,⽐如并发控制、存取控制、安全控制等,具体的操作有:权限管理,数据库的备份与恢复等!1 # 创建数据库(增 DDL)2create database数据库名称[数据库选项];3create database php2017;4-- 特殊字符(⽤标识限定符反引号包裹 `)5create database `select`;6create database `2017`;1 # 查看当前有那些数据库(DDL)2 show databases;1-- 查看数据库的创建语句(DDL)2 show create database数据库名;3 show create database php2017;1-- 删除数据库(DLL)2drop database数据库名称;3drop database php2017;1-- 修改数据库(改 DDL)2/*3注意:数据库的名称不可通过sql命令直接修改4以前有⼀个rename语法可以修改库名的,但是有bug56如果要修改库名,怎么办?7有两种⽅式:8 a.直接修改数据库的⽬录名,但是要慎重,因为有时候不是所有的数据库下的表都放在同⼀个地⽅!9 b.先把当前数据库下的数据表导出,创建⼀个新的数据库再导⼊之前导出的数据表,最后再删除之前的数据库10*/1112alter database库名新的库选项信息;13alter database php2017 default charset gbk;六.数据表操作(DDL)1 -- 显⽰指定数据库(DDL)2select * from er;3 -- 选择默认操作数据库4 use 库名;5 use php2017; 1 -- 创建数据表(DDL)2 # 表选项:规定表的默认字符集和存储引擎3 create table 表名(字段1 字段类型1,字段2 字段类型2, ...)[表选项];4 create table student(5 id int(11) primary key auto_increment,6 name varchar(20),7 age tinyint,8 score float9 );1-- 查看数据表(DDL)2 show tables;3-- 查看表的创建语句4 show create table表名;5 show create student;6-- 为了让返回语句更有条理7 show create student\G;891011-- 查看表结构12 describe 表名;13desc表名;-- 删除数据表(DDL)drop table表名;drop table student;-- 删除的⽐较完整的语法形式drop table if exists表名;drop table if exists student;-- 类似的语法create database if not exists库名;drop database if not exists库名;create table if not exists表名;drop table if exists表名;create table if not exists student(name varchar(20),age tinyint,score float);-- 修改数据表(DDL)/*表中有哪些地⽅可以修改?表名,列定义(增加⼀列、删除⼀列,列名、列类型、修改列排序),表选项⼀个技巧:尽管修改数据表的关键字有很多,但是基本上可以分成两⼤部分:第⼀部分:上级命令,alter table 表名第⼆部分:下级命令,加上需要使⽤的关键字,⽐如:改名(rename)增加(add)删除(drop)重命名(change)修改(modify)*/-- 修改表名alter table表名 rename to新表名;alter table表名1 to新表名1, 表名2 to新表名2 to新表名2;-- rename 还能将⼀个数据库的表移动到另⼀个数据库下rename table stu1 to test.stu1;-- 修改列定义-- 增加⼀列(first|after 是移动位置,默认在最后⼀位)alter table表名add新字段名字段类型[first | after 字段名];-- 删除⼀列alter table表名drop字段名;-- 修改字段类型alter table表名 modify 字段名新的字段类型;alter table stu1 modify name varchar(30);alter table xiaoshou modify id int(11) auto_increment;//修改主键⾃增-- 重命名字段(字段类型可以保留原样或者修改)alter table表名 change 原字段名新字段名字段类型[frist | after 字段名]; alter table stu1 change name stu_name varchar(20) after stu_id;-- 修改表选项alter table表名新的表选项信息alter table stu1 default charset gbk;七.数据操作(DML)-- 插⼊数据(DML)insert into表名(字段列表) values(值列表);insert into stu1(stu_name, stu_id, score) values('鸣⼈', 1701, 98);-- 插⼊多条数据insert into stu1 values(1702,'佐助',2345,22,90),(1703,'天天',2445,25,99),(1704,'⼩樱',1445,26,80);-- 或者只是插⼊多条部分数据insert into stu1(stu_name, stu_id, score) values('晓红', 1705, 100),('⼩⽶', 1706, 100),('⼩明', 1707, 99.9);-- 另⼀种兼容语法insert into表名set字段名1 =值, 字段名2 =值2...;insert into stu1 set stu_name ='零零七', score =88;-- 查询数据(DML)select*|字段列表from表名[查询条件];/*1,当查询所有字段的时候,可以使⽤*代替2,查询条件可以省略,如果省略代表查询所有的记录,相当于where 1;*/select*from stu1 where1;-- 删除数据(DML)delete from表名[删除条件]deleta from stu1 where score<90;-- 提⽰:MySQL中的NULL,⽐较特殊,不参与任何的运算!或者说参与任何运算的结果都为NULL -- 修改数据(DML)update表名set字段1 =新值1, 字段2 =新值2,...[修改条件];update stu1 set age = age +1where1;模糊查询_ :代表任意的⼀个字符%:代表任意的字符(包括0个)show collation like'utf8_%';设置校对集1-- 设置校对集语法2 collate 校对集;3create database php2017 default charset gbk collate gbk_chinese_ci;45/*67常见的校对规则有:8ci结尾:不区分⼤⼩写9cs结尾:区分⼤⼩写10bin结尾:⼆进制编码⽐较11关于校对集,我们⼀般使⽤其默认值就⾏了12utf8不⽀持中⽂⽐较,但是gbk⽀持(⽐较的还是拼⾳)13在真实的项⽬中,⼀般不会⽤中⽂作为排序的字段!1415*/。