一、查看数据库信息
MySQL数据库常用的一些管理操作
二、查看当前数据库中有哪些表
mysql> USE mysql; #USE 数据库名;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
±--------------------------+
| Tables_in_mysql |
±--------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
| general_log |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
±--------------------------+
31 rows in set (0.00 sec)

三、查看表的结构
1 mysql> USE mysql;
2 mysql> DESCRIBE user; #DESCRIBE [数据库名.]表名

四、SQL语句概述
4.1、SQL语言

4.1.1、Structured Query Language的缩写,即结构化查询语言

4.1.2、关系型数据库的标准语言

4.1.3、用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能

4.2、SQL分类

4.2.1、DDL(Data Definition Language)数据定义语言:用来建立数据库、数据库对象和定义字段,如CREATE、ALTER、DROP

4.2.2、DML(Data Manipulation Language)数据操纵语言:用来插入、删除和修改数据库中的数据,如INSERT、UPDATE、DELETE

4.2.3、DQL(Data Query Language)数据查询语言:用来查询数据中的数据,如SELECT

4.2.4、DCL(Data Control Language)数据控制语言:用来控制数据库组件的存取许可、存取权限等,如COMMIT、ROLLBACK、GRANT、REVOKE

五、DDL(Data Definition Language)数据定义语言
5.1、创建新的数据库和新的表
1、mysql> CREATE DATABASE xxy; #CREATE DATABASE 数据库名
2 、mysql> create table users(username CHAR(26) NOT NULL,passwd CHAR(36) DEFAULT’123123’,PRIMARY KEY(username)); #CREATE TABLE 表名(字段定义…)
5.2、删除一个数据表
1、 mysql> DROP TABLE xxy.users;
5.3、删除一个数据库
1、 mysql> DROP DATABASE xxy;

六、DML(Data Manipulation Language)数据操纵语言
6.1、创建新的数据库和新的表
1 mysql> CREATE DATABASE xxy;
2 mysql> use xxy;
3 mysql> CREATE TABLE users(name CHAR(36) NOT NULL,passwd CHAR(48) DEFAULT’123456’,PRIMARY KEY (name));
4 mysql> show tables
5 mysql> describe users
6.2、插入数据记录
1 语法:INSERT INTO 表名(字段1,字段2…) VALUES(字段1的值,字段2的值…)
2 mysql> use xxy;
3 mysql> INSERT INTO users VALUES(‘lisi’,default) #default是默认密码
4 mysql> INSERT INTO users(name,passwd) VALUES(‘zhangsan’,PASSWORD’123123’);
6.3、查询数据记录
1 语法:SELECT 字段名1,字段名2,… FROM 表名 WHERE 条件表达式
2 mysql> SELECT * FROM xxy.users
3 mysql> SELECT name,passwd FROM xxy.users WHERE name=‘zhangsan’;
6.4、修改数据记录
1 语法:UPDATE 表名 SET 字段名1=字段值1[字段名2=字段值2] WHERE 条件表达式
2 mysql> UPDATE xxy.users SET passwd=PASSWORD(‘123321’) WHERE name=‘lisi’;
3 mysql> SELECT * FROM xxy.users;
6.5、修改数据库密码
1 mysql> UPDATE mysql.user SET authentication_string=PASSWORD(‘123456’) WHERE user=‘root’;
2 mysqladmin -u root -p’123456’ password ‘123123’
6.6、删除数据库的记录
1 语法:DELETE FROM 表名 WHERE 条件表达式
2 mysql> DELETE FROM xxy.users WHERE name=‘lisi’;
3 mysql> SELECT * FROM xxy.users;

七、数据表的高级操作
7.1、清空表

1 mysql> DELETE FROM xxy.users;
2 mysql> TRUNCATE TABLE xxy.users;
7.2、创建临时表

临时建立的表,用于保存一些临时数据,不会长期存在

1 mysql> CREATE TEMPORARY TABLE yy(id int(20) NOT NULL AUTO_INCREMENT,ame name varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,level int(20) NOT NULL,PRIMARY KEY (id))ENGINE=InnoDB DEFAULT CHARSET=utf8;
2 mysql> INSERT INTO yy(name,level) VALUES(‘aa’,10);
3 mysql> select * from yy; #临时建立的,退出后失效
7.3、克隆表

7.3.1、LIKE方法

1 mysql> create table test like yy;
2 mysql> insert into test select * from yy;
7.3.2、SHOW CREATE TABLE方法

1 mysql> show create table yy\G
2 mysql> create table test1(“id” int(20) NOT NULL AUTO_INCREMENT, “name” varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, “level” int(20) NOT NULL, PRIMARY KEY (“id”) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
3 mysql>insert into test1 select * from yy;
7.4、数据库用户授权

1 mysql> insert into users(name,passwd) VALUES(‘lisi’,PASSWORD’123123’);
2 语法:GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 IDENTIFIED BY ‘密码’
3 mysql> GRANT select ON xxy.users TO ‘lisi’@‘localhost’ IDENTIFIED BY ‘123456’;
7.5、查看用户权限

1 语法:SHOW GRANTS FOR 用户名@来源地址
2 mysql> SHOW GRANTS FOR ‘lisi’@‘localhost’;
3 exit
4 mysql -ulisi -p 123456
7.6、撤销用户的权限

1 语法:REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址
2 mysql> REVOKE all ON xxy.users FROM ‘lisi’@‘localhost’;

相关文章: