# 以管理员身份运行命令提示符输入如下命令 # 启动 MySQL 服务命令: net start MySQL服务名 # 停止 MySQL 服务命令: net stop MySQL服务名
格式:mysql -h 主机地址 -P 端口号 -u 用户名 -p用户密码
如果已经配置好环境变量,DOS窗口下键入命令mysql -u root -p
,使用默认主机名localhost,默认端口号3306。回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
# u与用户名之间可以不用加空格,h与后面的主机地址可以不用加空格 mysql -h110.110.110.110 -u root -pabcd123
命令:create database <数据库名>
例1:建立一个名为xhkdb的数据库
mysql> create database xhkdb;
例2:创建数据库并分配用户
①CREATE DATABASE 数据库名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 用户名@localhost IDENTIFIED BY '密码';
③SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
依次执行3个命令完成数据库创建。
注意:中文 “密码”和“数据库”是户自己需要设置的。
命令:show databases;
(注意:最后有个s)
命令:drop database <数据库名>;
例如:删除名为 xhkdb的数据库
mysql> drop database xhkdb;
例子1:删除一个已经确定存在的数据库
mysql> drop database drop_database;
Query OK, 0 rows affected (0.00 sec)
命令: use <数据库名>;
使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。下面的例子可以从db1数据库访问作者表,并从db2数据库访问编辑表:
mysql> USE db1; mysql> SELECT author_name,editor_name FROM author,db2.editor -> WHERE author.editor_id = db2.editor.editor_id;
退出数据库或连接其他数据库直接 use 其他数据库名称
就可以了。
mysql> use text Database changed mysql> select database(); +------------+ | database() | +------------+ | text | +------------+ 1 row in set (0.00 sec)
MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?
(1). 显示MYSQL的版本
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.15 | +-----------+ 1 row in set (0.00 sec)
(2). 显示当前时间
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2021-01-30 09:37:30 | +---------------------+ 1 row in set (0.00 sec)
(3). 显示年月日
mysql> select year(current_date); +--------------------+ | year(current_date) | +--------------------+ | 2021 | +--------------------+ 1 row in set (0.00 sec) mysql> select month(current_date); +---------------------+ | month(current_date) | +---------------------+ | 1 | +---------------------+ 1 row in set (0.00 sec) mysql> select dayofmonth(current_date); +--------------------------+ | dayofmonth(current_date) | +--------------------------+ | 30 | +--------------------------+ 1 row in set (0.00 sec)
(4).显示字符串
mysql> select "hello,world"; +-------------+ | hello,world | +-------------+ | hello,world | +-------------+ 1 row in set (0.00 sec)
(5).当计算器用
mysql> select ((4 * 4) / 10 ) + 25; +----------------------+ | ((4 * 4) / 10 ) + 25 | +----------------------+ | 26.6000 | +----------------------+ 1 row in set (0.00 sec)
(6).串接字符串
(7). 查看数据库的创建信息
命令:create table <表名> ( <字段名1> <类型1> [,...<字段名n> <类型n>]);
命令: desc 表名;
,或者show columns from 表名;
使用MySQL数据库,根据desc 表名
的结果,我们看到Key那一栏,可能会有4种值,即' ','PRI','UNI','MUL'。这些值的含义是什么呢?
命令:drop table <表名>
select <字段1,字段2,...> from < 表名 > where < 表达式 >
# 查看表member中所有数据,*表示所有字段 mysql> select * from member;
# 查看表member中前2行数据 mysql> select * from member order by id limit 0,2;
SELECT name AS "姓名",age AS "年龄"from student;
SELECT DISTINCT name AS "姓名",age AS "年龄" from student;
SELECT name,age FROM student where age > 23;
命令:delete from 表名 where 表达式
语法:update 表名 set 字段=新值,… where 条件
# 将member表中id等于2的tel改为18370430889 mysql> update member set tel = '18370430889' where id = 2;
命令:alter table 表名 add字段 类型 其他;
mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table 表名 add primary key (字段名);
alter table 表名 add unique 索引名 (字段名);
alter table 表名 drop index 索引名;
ALTER TABLE table_name ADD field_name field_type;
ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
ALTER TABLE table_name MODIFY colum_name field_type new_type;
ALTER TABLE table_name DROP field_name;
命令:rename table 原表名 to 新表名;
使用show create table 表名;
命令。这行命令可以查看到创建表时使用的字符集信息。
在MySQL客户端下导入SQL文件:
source xxx.sql
排序使用order by
子句,其涉及到的两个重要关键字ASC和DESC,分别表示升序和降序。
# 例如对年龄降序 SELECT * from student ORDER BY age DESC;
# 例如对姓名,年龄进行排序。姓名相同,按照年龄降序 SELECT * from student ORDER BY name, age DESC;
MySQL中使用limit关键字实现分页。格式为LIMIT [位置偏移量,] 行数
,不指定位置偏移量,会从表中的第一条记录开始,第一条记录的位置偏移量是0。
# 前2条记录 SELECT * from student LIMIT 0,2;
查看字符集:show variables like 'character_%';
查看排序:show variables like 'collation_%';