1.MYSQL服务的启动、停止、查看
# systemctl status mysql
# systemctl start mysql
# systemctl stop mysql
2.MYSQL登录
# mysql -uroot -p123456
# mysql -u用户名 -p用户密码 (-h, --host=name Connect to host.)
3.创建数据库
mysql> create database test ;
4.删除数据库
mysql> drop database test ;
4.创建数据表
mysql> create database test ; //创建数据库
Query OK, 1 row affected (0.02 sec)
mysql> use test //选择数据库
Database changed
mysql> CREATE TABLE runoob_tbl( //数据表的名字是runoob_tbl
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.08 sec)
5.删除数据表
mysql> use test;
Database changed
mysql> DROP TABLE runoob_tbl; //删除数据表 runoob_tbl
Query OK, 0 rows affected (0.03 sec)
6.select查询
mysql> select * from runoob_tbl ; //查询表 runoob_tbl
Empty set (0.01 sec)
mysql> select runoob_id,runoob_title from runoob_tbl ; //查询runoob_tbl表中runoob_id和runoob_title字段
Empty set (0.01 sec)
mysql> select runoob_id,runoob_title from runoob_tbl where runoob_title="woniu"; //在runoob_tbl表中查询字段runoob_title=“woniu”的ip
Empty set (0.00 sec)
mysql> select runoob_id,runoob_title from runoob_tbl where runoob_title="woniu" order by runoob_title desc; //在runoob_tbl表中查询字段runoob_title=“woniu”的runoob_id,runoob_title,按照runoob_title倒序
Empty set (0.00 sec)
7.切换命令
mysql> show databases; //显示所有的库
mysql> use test; //选择数据库,库的ID是test
mysql> show tables; //显示库中所有的表,要先use 选中数据库
mysql> show create table runoob_tbl; //查看表结构
mysql> show index from runoob_tbl; //显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
mysql> quit //退出mysql
mysql> exit //退出mysql
8.模糊查询--like
mysql> select * from runoob_tbl where username like '%wugui'; //在 runoob_tbl 表中获取username字段中以 wugui为结尾的的所有记录
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
mysql> SELECT * FROM runoob_tbl WHERE name LIKE 'mysql%'; //查询以 mysql字段开头的信息。
mysql> SELECT * FROM runoob_tbl WHERE name LIKE '%mysql%'; //查询包含 mysql字段的信息。
mysql> SELECT * FROM runoob_tbl WHERE name LIKE '%mysql'; //查询以 mysql字段结尾的信息。
9.从其他导出数据插入新表(导入大数据)
insert into warn_message(username,strength,ip,port,clienttype,logtime,country,warn_type) select username,strength,ip,port,clienttype,logtime,country,warn_type from warn_message;
10.修改数据表的默认编码格式
mysql> alter table runoob_tbl convert to character set utf8;
11.清空表数据
mysql> truncate table runoob_tbl;
12.查看MySql版本号
方法一:
# mysql -V
mysql Ver 14.14 Distrib 5.5.62, for Linux (x86_64) using readline 5.1
方法二:
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.5.62, for Linux (x86_64) using readline 5.1
Connection id: 1054902
Current database: test
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.62-log Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Insert id: 2
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 390 days 13 hours 38 min 1 sec
Threads: 2 Questions: 9867825 Slow queries: 5 Opens: 3885 Flush tables: 1 Open tables: 231 Queries per second avg: 0.292
--------------
mysql>
方法三:
mysql> show variables like '%version%';
+-------------------------+---------------------+
| Variable_name | Value |
+-------------------------+---------------------+
| innodb_version | 5.5.62 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 5.5.62-log |
| version_comment | Source distribution |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+---------------------+
7 rows in set (0.00 sec)
方法四:mysql> select version();
+------------+
| version() |
+------------+
| 5.5.62-log |
+------------+
1 row in set (0.00 sec)
13.插入数据
mysql> INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
mysql> insert into runoob_tbl values(1,1,1,1)
14.修改表
(1)修改表类型
语法:ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
例如,修改表emp 的ename 字段定义,将varchar(10)改为varchar(20):
mysql> alter table emp modify ename varchar(20);
(2)、增加表字段
语法:ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
例如,表emp 上新增加字段age,类型为int(3):
mysql> alter table emp add age int(3);
(3)、删除表字段
语法:ALTER TABLE tablename DROP [COLUMN] col_name
例如,将字段age 删除掉:
mysql> alter table emp drop age;
(4)、字段改名
语法:ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]
例如,将age 改名为age1,同时修改字段类型为int(4):
mysql> alter table emp change age age1 int(4);
(5)、修改字段排列顺序
前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,默认ADD 增加的新字段是加在表的最后位置,而CHANGE/MODIFY 默认都不会改变字段的位置。
例如,将新增的字段birth date 加在ename 之后:
mysql> alter table emp add birth date after ename;
修改字段age,将它放在最前面:
mysql> alter table emp modify age int(3) first;
(6)、表改名
语法:ALTER TABLE tablename RENAME [TO] new_tablename
例如,将表emp 改名为emp1,命令如下:
mysql> alter table emp rename emp1;
网友评论