mysql启动及常用命令
Linux数据库命令
一、总结一下: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 库名;5、建表:use 库名;create table 表名(字段设定列表);6、删库和删表:drop database 库名;drop table 表名;7、将表中记录清空:delete from 表名;8、显示表中的记录:select * from 表名;9、编码的修改如果要改变整个mysql的编码格式:启动mysql的时候,mysqld_safe命令行加入--default-character-set=gbk如果要改变某个库的编码格式:在mysql提示符后输入命令alter database db_name default character set gbk;三、数据的导入导出1、文本数据转到数据库中文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。
mysql命令参数
mysql命令参数MySQL命令参数详解MySQL作为一种流行的关系型数据库管理系统,其常用的命令参数也是必须掌握的技能之一。
在本文中,我们将详细介绍MySQL的常用命令参数,包括参数的含义、用法以及实际应用场景。
1. -h, --host该参数用于指定MySQL服务器的主机名或IP地址。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,localhost表示本地主机,username表示用户名,password表示密码。
2. -P, --port该参数用于指定MySQL服务器的端口号。
默认情况下,MySQL服务器的端口号为3306。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -P 3306 -u username -p password其中,3306表示MySQL服务器的端口号。
3. -u, --user该参数用于指定MySQL服务器的用户名。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,username表示MySQL服务器的用户名。
4. -p, --password该参数用于指定MySQL服务器的密码。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,password表示MySQL服务器的密码。
5. -D, --database该参数用于指定要连接的MySQL数据库名称。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password -D dbname其中,dbname表示要连接的MySQL数据库名称。
6. -e, --execute该参数用于指定要在MySQL服务器上执行的SQL语句。
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。
MYSQL数据库命令大全
MYSQL命令大全常见的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可以不用加空格,其它也一样)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 test2@localhost identified by \"abc\";如果你不想test2有密码,可以再打一个命令将密码消掉。
Mysql启动的方式(四种)
Mysql启动的⽅式(四种)废话不多说了,直奔主题了。
mysql的四种启动⽅式:1、mysqld启动mysql服务器:./mysqld --defaults-file=/etc/f --user=root客户端连接:mysql --defaults-file=/etc/formysql -S /tmp/mysql.sock2、mysqld_safe启动mysql服务器:./mysqld_safe --defaults-file=/etc/f --user=root &客户端连接:mysql --defaults-file=/etc/formysql -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启动⽅式,希望对⼤家有所帮助!。
mysql数据库常用语句大全
mysql数据库常用语句大全1.连接数据库:连接本地数据库:mysql -u root -p连接远程数据库:mysql -h 192.169.22.199 -u root -p退出数据库:exit2.创建数据库:create database payment;使用 mysqladmin 创建数据库mysqladmin -u root -p create abc_db; 3.显示所有数据库:show databases;4.删除数据库:drop database payment;使用 mysqladmin 删除数据库mysqladmin -u root -p drop abc_db5.选择数据库:use home_db;6.数据类型:数值类型:TINYINT:SMALLINT:MEDIUMINT:INT(INTEGER):BIGINT:FLOAT:DOUBLE:DECIMAL:日期和时间类型:DATE:TIEM:DATETIME:YEAR:TIMESTAMP:字符串类型:CHAR:VARCHAR:TINYBLOB:TINYTEXT:BLOB:TEXT:MEDIUMBLOB:MEDIUMTEXT:LONGBLOB:LONGTEXT:7.创建数据表:CREATE TABLE IF NOT EXISTS `t_order`( `id` INT(10) UNSIGNED AUTO_INCREMENT,`title` VARCHAR(100) NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;8.删除数据表:DROP TABLE t_order;9.insert 插入:插入一条数据:INSERT INTO t_order(title)VALUES('手机');INSERT 插入多条数据:INSERT INTO t_order(title)VALUES('笔记本'),('平板电脑');10.select 查询:所有字段查询:SELECT * FROM t_order;某些字段查询:SELECT t_order.id, t_order.title FROM t_order;分页查询:SELECT t_order.title FROM t_order WHERE id LIMIT 1,10 11.where 条件:OR,AND的应用:SELECT * FROM t_order WHERE title ='手机' OR title='笔记本';SELECT * FROM t_order WHERE title ='手机' AND id=2;12.update 更新:UPDATE t_order SET title='苹果手机' WHERE id =2;13.delete 删除:DELETE FROM t_order WHERE id=2;14.like 查询SELECT * FROM t_order WHERE title LIKE '%手机%';SELECT * FROM t_order WHERE title LIKE '_机';14.union 联合查询:连接两个以上的 SELECT 语句合并成一个结果集合SELECT * FROM t_order UNION SELECT * FROM t_user; SELECT * FROM t_order UNION ALL SELECT * FROM t_user;15.order by 排序:升序排序:SELECT * FROM t_order ORDER BY id ASC;降序排序:SELECT * FROM t_order ORDER BY id DESC;16.group by 分组:SELECT title, count(*) as total FROM t_order GROUP BY title;17.join 连接:inner join(内连接) on:获取两个表中字段匹配关系的记录SELECT * FROM t_order o INNER JOIN t_user u ON o.id =u.id;left join(左连接)on:获取左表所有记录,即使右表没有对应匹配的记录SELECT * FROM t_order o LEFT JOIN t_user u ON o.id =u.id;right join(右连接)on:获取右表所有记录,即使左表没有对应匹配的记录SELECT * FROM t_order o RIGHT JOIN t_user u ON o.id =u.id;18.null的处理:null值的判断:SELECT * FROM t_user WHERE name IS NULL;非null值的判断:SELECT * FROM t_user WHERE name IS NOT NULL;19.REGEXP 正则表达式:SELECT * FROM t_order WHERE title REGEXP('手机$'); SELECT * FROM t_order WHERE title REGEXP('^笔');。
如何重启 MySQL 服务
如何重启 MySQL 服务MySQL是一款优秀的关系型数据库管理系统,已被广泛应用于互联网公司、企业和个人的业务活动中。
但是,有时候在使用MySQL的过程中,可能出现MySQL服务意外停止的状况。
这种情况下,需要对MySQL服务进行重启,以确保数据库能够正常工作。
下面就一起来看看如何重启MySQL服务吧。
1. 检查MySQL服务状态在重启MySQL服务之前,我们需要先检查MySQL服务的状态。
可以通过以下命令查看MySQL服务是否正在运行:```# service mysql status```如果MySQL服务正在运行,那么状态应该是“Active (running)”,如下所示:```● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2021-07-15 10:44:11 CST; 2 days agoMain PID: 1587 (mysqld)Status: "Server is operational"Tasks: 37 (limit: 2360)CGroup: /system.slice/mysql.service└─1587 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid```如果MySQL服务没有运行,那么状态应该是“Inactive (dead)”,如下所示:```Unit mysql.service could not be found.```2. 重启MySQL服务如果MySQL服务没有运行或者出现异常,我们需要重启MySQL服务。
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可以不必加空格,其它也一样)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 test2@localhost identified by \"abc\";如果你不想test2有密码,可以再打一个命令将密码消掉.grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";在上面讲了登录、增加用户、密码更改等问题.下面我们来看看MySQL中有关数据库方面的操纵.注意:你必须首先登录到MySQL中,以下操纵都是在MySQL的提示符下进行的,并且每个命令以分号结束.1、MySQL经常使用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 表的详细描述select 中加上distinct去除重复字段mysqladmin drop database name 删除数据库前,有提示.显示当前mysql版本和当前日期select version(),current_date;2、修改mysql中root的密码:shell>mysql -u root -pmysql> update user set password=password(”xueok654123″) where user=’root’;mysql> flush privileges //刷新数据库mysql>use dbname;打开数据库:mysql>show databases; 显示所有数据库mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后mysql>describe user; 显示表mysql数据库中user表的列信息);3、grant创建一个可以从任何地方连接办事器的一个完全的超等用户,但是必须使用一个口令something做这个mysql> grant all privileges on *.* to user@localhost identified by ’something’ with增加新用户格局:grant select on 数据库.* to 用户名@登录主机identified by “密码”GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;删除授权:mysql> revoke all privileges on *.* from root@”%”;mysql> delete from user where u ser=”root” and host=”%”;mysql> flush privileges;创建一个用户custom在特定客户端登录,可拜访特定数据库fangchandbmysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ identified by ‘ passwd’重命名表:mysql > alter table t1 rename t2;4、mysqldump10、操纵数据#拔出表departmentinsert into department(name,description) values('系统部','系统部');insert into department(name,description) values('公关部','公关部');insert into department(name,description) values('客服部','客服部');insert into department(name,description) values('财务部','财务部');insert into department(name,description) values('测试部','测试部');#拔出表s_positioninsert into s_position(name,description) values('总监','总监');insert into s_position(name,description) values('经理','经理');insert into s_position(name,description) values('普通员工','普通员工');#拔出表depart_posinsert into depart_pos(department_id,position_id)select a.id department_id,b.id postion_idfrom department a,s_position b;#拔出表stafferinsert into staffer(name,department_id,position_id) values('陈达治',1,1);insert into staffer(name,department_id,position_id) values('李文宾',1,2);insert into staffer(name,department_id,position_id) values('马佳',1,3);insert into staffer(name,department_id,position_id) values('亢志强',5,1);insert into staffer(name,department_id,position_id) values('杨玉茹',4,1);11、查询及删除操纵#显示系统部的人员和职位select , department_name, position_namefrom staffer a,department b,s_position cwhere a.department_id=b.id and a.position_id=c.id and ='系统部';#显示系统部的人数select count(*) from staffer a,department bwhere a.department_id=b.id and ='系统部'#显示各部分的人数select count(*) cou,from staffera,department bwhere a.department_id=b.idgroup by ;#删除客服部delete from department where name='客服部';#将财务部修改成财务一部update department set name='财务一部' where name='财务部';12、备份和恢复备份数据库stafferc:\mysql\bin\mysqldump -uroot -proot staffer>e:\staffer.sql得到的staffer.sql是一个sql脚本,不包含建库的语句,所以你需要手工创建数据库才可以导入恢单数据库staffer,需要创建一个空库stafferc:\mysql\bin\mysql -uroot -proot staffer<staffer.sql如果不希望后来手工创建staffer,可以c:\mysql\bin\mysqldump -uroot -proot --databases staffer>e:\staffer.sqlmysql -uroot -proot >e:\staffer.sql但这样的话系统种就不克不及存在staffer库,且无法导入其他名字的数据库,当然你可以手工修改staffer.sql文件13、从文本向数据库导入数据1)使用东西c:\mysql\bin\mysqlimport这个东西的作用是将文件导入到和去掉文件扩展名名字相同的内外,如staffer.txt,staffer都是导入到staffer表中经常使用选项及功效如下-d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息-f or --force 不管是否遇到错误,mysqlimport将强制持续拔出数据-i or --ignore mysqlimport 跳过或疏忽那些有相同唯一关头字的行,导入文件中的数据将被疏忽.-l or -lock-tables 数据被拔出之前锁住表,这样就避免了,你在更新数据库时,用户的查询和更新受到影响.-r or -WordStr 这个选项与-i选项的作用相反;此选项将替代表中有相同唯一关头字的记实.--fields-enclosed- by= char指定文本文件中数据的记实时以什么括起的,良多情况下数据以双引号括起. 默认的情况下数据是没有被字符括起的.--fields-terminated- by=char指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号.您可以用此选项指定数据之间的分隔符.默认的分隔符是跳格符(Tab)--lines-terminated- by=str此选项指定文本文件中行与行之间数据的分隔字符串或字符. 默认的情况下mysqlimport以newline为行分隔符.您可以选择用一个字符串来替代一个单个的字符:一个新行或一个回车.mysqlimport命令经常使用的选项还有-v 显示版本(version),-p 提示输入密码(password)等.这个东西有个问题,无法疏忽某些列,这样对我们的数据导入有很大的麻烦,虽然可以手工设置这个字段,但会出现莫名其妙的结果,我们做一个复杂的示例我们定义如下的depart_no.txt,保管在e盘,距离为制表符\t10 1011 1112 24执行如下命令c:\mysql\bin\mysqlimport -uroot -proot staffer e:\depart_pos.txt在这里没有使用列的包抄符号,联系采取默认的\t,因为采取此外符号会有问题,不知道是不是windows的原因2)Load Data INFILE file_name into table_name(column1_name,column2_name)这个命令在mysql>提示符下使用,优点是可以指定列导入,示例如下c:\mysql\bin\mysql -uroot -proot staffermysql>load data infile "e:/depart_no.txt" into depart_no(department_id,position_id);这两个东西在Windows下使用都有问题,不知道是Windows 的原因仍是中文的问题,并且不指定的列它产生了空值,这显然不是我们想要的,所以谨慎使用这些东西进入MySQL:mysql -uuser -ppassword --port=33071:使用SHOW语句找出在办事器上当前存在什么数据库:mysql> SHOW DATABASES;2:2、创建一个数据库MYSQLDATAmysql> Create DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操纵成功!)4:查抄现在的数据库中存在什么表mysql> SHOW TABLES;5:创建一个数据库表mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));6:显示表的结构:mysql> DESCRIBE MYTABLE;7:往表中参加记实mysql> insert into MYTABLE values ("hyq","M");8:用文本方法将数据装入数据库表中(例如D:/mysql.txt)mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;9:导入.sql文件命令(例如D:/mysql.sql)mysql>use database;mysql>source d:/mysql.sql;10:删除表mysql>drop TABLE MYTABLE;11:清空表mysql>delete from MYTABLE;12:更新表中数据mysql>update MYTABLE set sex="f" wherename='hyq';UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition][ORDER BY ...][LIMIT rows]orUPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]SET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition]UPDATE 以新的值更新现存表中行的列.SET 子句指出要修改哪个列和他们应该给定的值.WHERE子句如果被给出,指定哪个记实行应该被更新.不然,所有的记实行被更新.如果ORDER BY 子句被指定,记实即将被以指定的次序更新.如果你指定关头词 LOW_PRIORITY,UPDATE 的执即将被延迟,直到没有其它的客户端正在读取表.如果你指定关头词IGNORE,该更新语句将不会异常中止,即便在更新进程中出现重复键错误.导致冲突的记实即将不会被更新.如果在一个表达式中从tbl_name 中拜访一个列,UPDATE 使用列的当前值.举例来说,下面的语句设置age 列值为它的当前值加 1 :mysql> UPDATE persondata SET age=age+1;UPDATE 赋值是从左到右计较的.举例来说,下列语句将age 列设置为它的两倍,然后再加 1 :mysql> UPDATE persondata SET age=age*2, age=age+1;如果你设置列为其当前的值,MySQL 注意到这点,其实不更新它.UPDATE 前往实际被改动的记实行数目.在MySQL 3.22 或更新的版本中,C API 函数mysql_info()前往被匹配并更新的记实行数目,以及在UPDATE 期间产生的警告的数目.在MySQL 3.23 中,你可以使用LIMIT # 来确保只有给定的记实行数目被更改.如果一个 ORDER BY 子句被使用(从 MySQL 4.0.0 开始支持),记实即将以指定的次序被更新.这实际上只有连同LIMIT一起才有用.从MySQL 4.0.4 开始,你也可以执行一个包含多个表的UPDATE 的操纵:UPDATE items,month SET items.price=month.priceWHERE items.id=month.id;注意:多表UPDATE 不成以使用ORDER BY 或LIMIT.关头字: mysql启动:net start mySql;进入:mysql -u root -p/mysql -h localhost -u root -p databaseName;列出数据库:show databases;选择数据库:use databaseName;列出表格:show tables;显示表格列的属性:show columns from tableName;成立数据库:source fileName.txt;匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串;增加一个字段:alter table tabelName add column fieldName dateType;增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;多行命令输入:注意不克不及将单词断开;当拔出或更改数据时,不克不及将字段的字符串展开到多行里,不然硬回车将被储存到数据中;增加一个办理员帐户:grant all on *.* touser@localhost identified by "password";每条语句输入完毕后要在末尾填加分号';',或填加'\g'也可以;查询时间:select now();查询当前用户:select user();查询数据库版本:select version();查询当前使用的数据库:select database();1、删除student_course数据库中的students数据表:rm -f student_course/students.*2、备份数据库:(将数据库test备份)mysqldump -u root -p test>c:\test.txt备份表格:(备份test数据库下的mytable 表格)mysqldump -u root -p test mytable>c:\test.txt将备份数据导入到数据库:(导回test数据库)mysql -u root -p test3、创建临时表:(成立临时表zengchao) create temporary table zengchao(name varchar(10));4、创建表是先判断表是否存在create table if not exists students(……);5、从已经有的表中复制表的结构create table table2 select * from table1 where 1<>1;6、复制表create table table2 select * from table1;7、对表重新命名alter table table1 rename as table2;8、修改列的类型alter table table1 modify id int unsigned;//修改列id的类型为int unsigned alter table table1 change id sid int unsigned;//修改列id的名字为sid,并且把属性修改成int unsigned9、创建索引alter table table1 add index ind_id (id);create index ind_id on table1 (id);createunique index ind_id on table1 (id);//成立唯一性索引10、删除索引drop index idx_id on table1;alter table table1 drop index ind_id;11、联合字符或多个列(将列id 与":"和列name和"="连接)select concat(id,':',name,'=') from students;12、limit(选出10到20条)<第一个记实集的编号是0>select * from students order by id limit 9,10;13、MySQL不支持的功效事务,视图,外键和引用完整性,存储进程和触发器14、MySQL会使用索引的操纵符号<,<=,>=,>,=,between,in,不带%或_开头的like 15、使用索引的缺点1)减慢增删改数据的速度;2)占用磁盘空间;3)增加查询优化器的承担;当查询优化器生成执行筹划时,会考虑索引,太多的索引会给查询优化器增加任务量,导致无法选择最优的查询筹划;16、阐发索引效率办法:在一般的SQL语句前加上explain;阐发结果的寄义:1)table:表名;2)type:连接的类型,(ALL/Range/Ref).其中ref 是最理想的;3)possible_keys:查询可以利用的索引名;4)key:实际使用的索引;5)key_len:索引中被使用部分的长度(字节);6)ref:显示列名字或"const"(不明白什么意思);7)rows:显示MySQL 认为在找到正确结果之前必须扫描的行数;8)extra:MySQL的建议;17、使用较短的定长列1)尽可能使用较短的数据类型;2)尽可能使用定长数据类型;a)用char代替varchar,固定长度的数据处理比变长的快些;b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能;c)万一出现数据表解体,使用固定长度数据行的表更容易重新机关.使用固定长度的数据行,每个记实的开始位置都是固定记实长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了;d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大;18、使用not null和enum尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,并且在查询时,MySQL不需要查抄是否存在特例,即null值,从而优化查询;如果一列只含有有限数目的特定值,如性别,是否有效或入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来暗示的;19、使用optimize table对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,下降查询性能.具有可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更加突出,因为其尺寸变更很是大.可以通过使用optimize table来整理碎片,包管数据库性能不下降,优化那些受碎片影响的数据表. optimize table可以用于MyISAM和BDB类型的数据表.实际上任何碎片整理办法都是用mysqldump来转存数据表,然后使用转存后的文件偏重新建数据表;20、使用procedure analyse()可以使用procedure analyse()显示最佳类型的建议,使用很复杂,在select语句前面加上procedure analyse()就可以了;例如:select * from students procedure analyse();select * from students procedure analyse(16,256);第二条语句要求procedure analyse()不要建议含有多于16个值,或含有多于256字节的enum类型,如果没有限制,输出可能会很长;21、使用查询缓存1)查询缓存的任务方法:第一次执行某条select语句时,办事器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中前往结果;当更新数据表后,该数据表的任何缓存查询都酿成无效的,并且会被丢弃.2)配置缓存参数:变量:query_cache _type,查询缓存的操纵模式.有3中模式,0:不缓存;1:缓存查询,除非与select sql_no_cache 开头;2:按照需要只缓存那些以select sql_cache开头的查询;query_cache_size:设置查询缓存的最大结果集的大小,比这个值大的不会被缓存.22、调整硬件1)在机械上装更多的内存;2)增加更快的硬盘以削减I/O 等待时间;寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快;3)在不合的物理硬盘设备上重新分派磁盘勾当;如果可能,应将最忙碌的数据库存放在不合的物理设备上,这跟使用同一物理设备的不合分区是不合的,因为它们将争用相同的物理资源(磁头).。
mysql命令行命令和SQL语句,MySQL修改删除增加字段类型,字段数据等。
mysql命令⾏命令和SQL语句,MySQL修改删除增加字段类型,字段数据等。
⼀ . 常⽤mysql命令⾏命令1 .启动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 –uroot –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 . 创建数据库⽤户CREATE 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 . 表结构的修改① 增加⼀个字段格式:alter table table_name add column (字段名字段类型); ----此⽅法带括号指定字段插⼊的位置:alter table table_name add column 字段名字段类型 after 某字段;②删除⼀个字段:alter table table_name drop字段名;③ 修改字段名称/类型alter table table_name change 旧字段名新字段名新字段的类型;④ 改表的名字alter table table_name rename to new_table_name;⑤ ⼀次性清空表中的所有数据truncate table table_name; 此⽅法也会使表中的取号器(ID)从1开始15 . 增加主键,外键,约束,索引。
MYSQL初学者使用指南
/viewthread.php?tid=5368-----------------------------------------------有很多朋友虽然安装好了mysql但却不知如何使用它。
在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些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可以不用加空格,其它也一样)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,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
MySQL教程
进入DOS界面;
在d:\mysql\bin目录下运行mysql,进入mysql交互操作界面
输入show databases并回车,屏幕显示出当前已有的两个数据库mysql和test
方法二:不使用winmysqladmin
1)、在DOS窗口下,进入d:/mysql/bin目录
下面来看看MYSQL中有关数据库方面的操作。注意:必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
又一篇安装的文章
PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合。在indows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选。本人在Windows98环境下初学MySQL,现将学习过程与经验总结出来供大家参考。
正常时显示数据库mysql里的五个表:
columns_priv
db
host
tables_priv
user
c)、mysqladmin version status proc
显示版本号、状态、进程信息等
d)、mysql test
进入mysql操作界面,当前数据库为test
3、退出MYSQL命令: exit (回车)
二、修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
MySql入门教(完整教程)2007年05月31日 星期四 17:43一、连接MYSQL
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⼏种启动和关闭mysql服务的⽅法和区别mysql⼏种启动⽅法⽅法1、mysqldmysqld指定读取f配置⽂件启动,加⼀个 & 实现后台启动。
终端不会被阻塞./mysqld --defaults-file=/etc/f &⽅法2、mysqld_safe./mysqld_safe –defaults-file=/etc/f &⽅法3、mysql.server将support-files/mysql.server 脚本做成⼀个linux服务。
使⽤服务的⽅式启动cp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/chkconfig –add mysql.serverservice mysql.server {start|stop|restart|reload|force-reload|status}⽅法4、./etc/init.d/mysqld start这种⽅式其实和support-files⼀样。
不过更清晰点,我⽐较喜欢⽤这个。
⽅法5、mysqld_multimysqld_multi 主要⽤来多实例启动的。
见mysqld和mysqld_safe启动有什么区别?1、使⽤file命令分别查看mysqld和mysqld_safe两个执⾏⽂件。
可见mysqld是⼀个64位的 dynamically linked ;mysqld_safe 是⼀个shell script;shell脚本。
可以直接编辑的。
[root@localhost bin]# file mysqldmysqld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=e1d1f6fd34afae9ac33181c12d605976c81cc6e1, not stripped[root@localhost bin]# file mysqld_safemysqld_safe: POSIX shell script, ASCII text executable2、使⽤ps-ef查看下⼆者区别mysqld[root@localhost bin]# ps -ef |grep mysqlmysql 929483641211:12 pts/200:00:00 ./mysqld --defaults-file=/etc/fmysqld_safe[root@localhost ~]# ps -ef |grep mysqlroot 93998364011:13 pts/200:00:00/bin/sh ./mysqld_safe --defaults-file=/etc/fmysql 95559399211:13 pts/200:00:00/home/mysql5.7/mysql-5.7.33-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/etc/f --basedir=/home/mysql5.7/mysql-5.7.33-linux-glibc2.12-x86_64 --datadir=/mdata/mysql57 --plugin-dir=/ho mysqld_safe命令启动的⽅式要⽐mysqld启动多了⼀个mysqld_safe的进程;mysqld_safe 其实就是mysqld服务的⼀个守护进程;它的作⽤是当mysql宕机后会⾃动重启mysqld服务。
mysql数据库的基本使用命令总结
mysql数据库的基本使⽤命令总结mysql数据库是⼀个常⽤的关系型数据库关系型数据库核⼼元素有哪些?主键:特殊字段,⽤来唯⼀标识记录的唯⼀性字段:数据列记录:数据⾏数据表:数据⾏的集合数据库:数据表的集合安装、启动、停⽌、重启mysql服务器的命令安装:sudo apt-get install mysql-server启动:sudo service mysql start# 查看进程中是否存在mysql服务 ps ajx|grep mysql停⽌:sudo service mysql stop重启:sudo service mysql restartmysql 数据库的操作1.连接数据库mysql -u root -pmysql不显⽰密码连接python@ubuntu:~/Desktop$ mysql -u root -pEnter password: mysql退出数据库ctrl+l:清除命令屏幕quit\exit2.创建数据库create database 数据库名 charset=utf8;### 创建数据库时⼀定要记得解决编码问题3.查看当前使⽤的数据库: select database();查看所以数据库: show databases;查看当前数据库中所有表: show tabes;查看当前表中所有的列: select * from 表名;查看表结构: desc 表名;4. 1)创建表需要⽤到的数据类型:整数: int,bit #int unsigned:⽆符号整形 #tinyint unsigned:⽆符号整形(但范围⽐较⼩,⼀般⽤于年龄) #.bit是位数据类型,长度为1字节;int 是整型;bit 实际就是bool类型,只能是0和1,int的是4个字节的整型⼩数: decimal #decimal(5,2)表⽰五位数字,两位⼩数点字符串: varchar,char #varchar:可变字符串⽇期时间: date, time, datetime枚举类型: enum主键: primary key⾃动增长(增加): atuo_increment默认值: default不能为空: not null外键: foreign keyin2)表格式:create table 数据表名字(id ⽆符号整形主键⾃动增长(增加) 不能为空; name 可变字符串(数字/范围) 默认值'';age ⽆符号整形默认值0;height ⼩数;gender 枚举默认值;foreign key ⽆符号整形默认值);例如:create table t_students(id int unsigned primary key auto_increment not null,name varchar(10) default '',age tinyint unsigned default 0,height decimal(5,2),gender enum('男','⼥','中性','保密') default '保密',cls_id int unsigned default 0);5.查看创建数据库的语句: show create database 库名查看创建表的语句: show create table 表名6.使⽤数据库: use 数据库名删除数据库: drop database 数据库名删除表: drop table 表名删除表--删除字段(列)alter table 表名 drop 列名7.表的修改:1)修改表-添加字段 kouhao (班级⼝号)alter table 表名 add 列名类型及约束;alter table t_classes add kouhao varchar(20) not null default '⼈⽣苦短,我⽤Python';2)修改表-修改字段:重命名版alter table 表名 change 原名新名类型及约束;alter table t_classes change kouhao logo varchar(20);3)修改表-修改字段:不重命名版alter table 表名 modify 列名类型及约束;alter table t_classes modify logo varchar(20) not null default '⼈⽣苦短,我⽤Python';8.数据的增删改查(curd)curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)1)增加1.全列插⼊insert [into] 表名 values(...) #into可⽤可不⽤主键字段可以⽤ 0 null default 来占位如:向classes表中插⼊⼀个班级insert into t_classes values(0,'python02');insert into t_classes values(0,'python01');如:向students表插⼊⼀个学⽣信息(id,name,age,height,gender,cls_id)insert t_students values(null,'⼤乔',23,165.12,'男',1);insert t_students values(null,'李⽩',23,180.12,'⼥',1);2.部分插⼊insert into 表名(列1,...) values(值1,...)insert into t_students(name,gender) values ('张飞',1); #这⾥张飞后⾯的⼀是创建表时,列表性别列对象的枚举参数顺序3.多⾏插⼊insert into 表名(name,gender) values("⼩张1",1),("⼩张2",2);insert into t_students(name,gender) values('⼩王',2),('⼤王',3);2)修改update 表名 set 列1=值1,列2=值2... where 条件;1.全部修改update t_students set height=188.88 ;2.按条件修改update t_students set gender='⼥' where id=1;3.按条件修改多个值update students set gender ="",name = "xxx" ;update t_students set height=165.60,gender=1 where id=3;3)查询1.查询所有列select * from 表名;select * from t_students;2.指定条件查询select * from t_students where name='李⽩';3.查询指定列select 列1,列2,... from 表名;select name,age from t_students;4)删除1.物理删除 #删除后不可恢复delete from 表名 where 条件delete from t_students where id=4;2.逻辑删除 #对要删除的对象做标记,可恢复(⽤⼀个字段来表⽰这条信息是否已经不能再使⽤了)需要给students表添加⼀个 isdelete 字段 bit 类型才能进⾏逻辑删除isdelete=1 就是代表删除标记;is_delete=0 就是恢复 #⽤⼆进制0和1表⽰update t_students set isdelete=1 where id=5 ;。
mysql常用命令
1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库方法1:常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:wcnc_db.sql方法2:直接运用mysql命令(不用进入mysql的控制台界面)比如备份了test数据库中的表test,备份文件为test.sql文件yangcr@server:~$ mysql -u visualdb –p test(数据库名) < test.sql(这里的sql文件只是一个表的备份,所以要加上数据库名。
如果备份的是整个数据库就不用了,直接就是:mysql –u visualdb –p < database.bak.sql)5.另一种将mysql数据库进行逻辑备份手段是:使用SELECT …INTO OUTFILE /…/ FROM …例如:select * into outfile '/tmp/dump.txt' fields terminated by '\t' optionally enclosed by '"' lines terminated by '\n' from allcontigs limit 100;解释:在linux系统下,将数据库raw中的allcontigs中的前100条数据备份到/tmp/dump.txt文件中(不知道问什么只能备份到/tmp目录下)。
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授权、启动、启动服务常用命令
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. 全局层级:全局权限适⽤于⼀个给定服务器中的所有数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库一、增,删,改,查数据库的编程:1.数据库编程概述2.c常用的数据库编程方法①c中使用专门的库函数,在函数调用中使用SQL语句注意:linux 常用的数据库:MySqL 是开源的免费的二.mysql的使用1.手动2.编程启动/etc/rc.d/init.d/mysqld stat查看:/etc/rc.d/init.d/mysqld status进入mysqlmysql <Enter>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.sql2.导出一个表mysqldump -u 用户名-p 数据库名表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql-d 没有数据–add-drop-table 在每个create语句之前增加一个drop table4.导入数据库A:常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source wcnc_db.sqlB:使用mysqldump命令mysqldump -u username -p dbname < filename.sqlC:使用mysql命令mysql -u username -p -D dbname < filename.sql一、启动与退出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>DESCRIBE MyClassmysql> 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;或者:mysql> select * from MyClass 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.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。
6.VARCHAR型:变长字符串类型5.导入数据库表(1)创建.sql文件(2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。
(2)导入auction.sql文件c:mysqlbin>mysql -u root -p auction < auction.sql。
通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction。
6.修改数据库(1)在mysql的表中增加字段:alter table dbname add column userid int(11) not null primary key auto_increment;这样,就在表dbname中添加了一个字段userid,类型为int(11)。
7.mysql数据库的授权mysql>grant select,insert,delete,create,dropon *.* (或test.*/user.*/..)to 用户名@localhostidentified by '密码';如:新建一个用户帐号以便可以访问数据库,需要进行如下操作:mysql> grant usage-> ON test.*-> TO testuser@localhost;Query OK, 0 rows affected (0.15 sec)此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数据库并可以连接到test 数据库。
下一步,我们必须指定testuser这个用户可以执行哪些操作:mysql> GRANT select, insert, delete,update-> ON test.*-> TO testuser@localhost;Query OK, 0 rows affected (0.00 sec)此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。
现在我们结束操作并退出MySQL客户程序:mysql> exitBye9!1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:2、创建一个数据库MYSQLDATAmysql> Create DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4:查看现在的数据库中存在什么表mysql> SHOW TABLES;5:创建一个数据库表mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));6:显示表的结构:mysql> DESCRIBE MYTABLE;7:往表中加入记录mysql> insert into MYTABLE values ("hyq","M");8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;9:导入.sql文件命令(例如D:/mysql.sql)mysql>use database;mysql>source d:/mysql.sql;10:删除表mysql>drop TABLE MYTABLE;11:清空表mysql>delete from MYTABLE;12:更新表中数据mysql>update MYTABLE set sex="f" where name='hyq';以下是无意中在网络看到的使用MySql的管理心得,摘自:/article/htmldata/2004_12/3/57/article_1060_1.html在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。