mysql 使用

时间:2019-03-20
本文章向大家介绍mysql 使用,主要包括mysql 使用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

---恢复内容开始---

好久没用,回顾一下。

环境:windows

路径:mysql/bin

在一个cmd中输入mysqld --console,打开mysql服务,然后mysql开启。

这个cmd被占用,打开一个新的cmd,输入mysql.exe -u root -p,然后输入密码

登录成功。

 如果要添加用户,可以在user表里添加表项即可

mysql> use mysql;
Database changed

mysql> INSERT INTO user 
          (host, user, password, 
           select_priv, insert_priv, update_priv) 
           VALUES ('localhost', 'guest', 
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host      | user    | password         |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string

注意:password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。

注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。

如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。

列出数据局列表:

show databases;

选择数据库:

use test;

列出所有这个数据库的表:

show tables;

显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。 

mysql> show columns from test;
+-----------+---------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+-------------------+-----------------------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | NO | | NULL | |
| courseId | int(20) | NO | MUL | NULL | |
| endDate | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| questions | varchar(2000) | NO | | NULL | |
| teacherId | int(11) | NO | MUL | NULL | |
| classIds | varchar(2000) | NO | | NULL | |
| testTime | int(11) | NO | | NULL | |
| scores | varchar(100) | YES | | NULL | |
+-----------+---------------+------+-----+-------------------+-----------------------------+
9 rows in set (0.19 sec)

按列打印:

show table status from test;

对比

show table status from test\G;

创建数据库:

这条命令作用

  • 1. 如果数据库不存在则创建,存在则不创建。
  •  2. 创建RUNOOB数据库,并设定编码集为utf8

mysql> create database if not exists t_student default charset utf8 collate utf8_general_ci;
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| musicserver |
| mymusic |
| mymusicplayer |
| mysql |
| onlinexam |
| operationsdb |
| performance_schema |
| runoob |
| scores |
| t_student |
| terminaldb |
| test |
| tt |
| ttt |
+--------------------+
15 rows in set (0.00 sec)

删除数据库

显示 表的属性:

举例:

 完整性约束:

实体完整性,主键处不可取空值

思考:如果主键有两个或多个属性,必须满足每个属性不为空?

 建一个test表测试用;

desc检测表的属性,id和name是primarykey 插入时,单指定id 不指定name时不会出错,因为还可以区分而且不会与默认值想同,如果不插入

 允许两个主键时,插入元祖一个主键为空,至少填充有一个主键;第一个主键可以相同,第二个主键这时必须不同

---恢复内容结束---