启动
开启服务
在使用MySQL之前,要先看MySQL服务是否启动。
方法(1):我的电脑----->属性----->服务------>MySQL服务,如果关闭,选择开启就可以了。
(2):以管理员身份运行cmd,输入net start mysql就可以开启服务了。
用cmd使用MySQL数据库:
mysql -uroot -p
本行输入密码
关于MySQL的编码问题
status命令可以看到数据库的一些基本配置,如果有些编码是utf8有些编码是gbk,那么由于MySQL使用的字符集为utf8而不是gbk,需要对字符集进行更改。找到MySQL的安装目录,打开my.ini,加入一行:`character-set-server=utf8`就好了。输入status命令再次查看,编码全都是utf8了。
数据库相关操作
创建数据库
使用CREATE DATABASE 数据库名;
进行创建数据库,如果数据库存在的话,就会报错。;如果使用CREATE DATABASE IF NOT EXISTS 数据库名;
,如果该数据库已经存在,则会返回警告信息而非报错。
查看当前服务器下的数据库列表:SHOW DATABASES或者SHOW SCHEMAS
。查看当下数据库的定义:SHOW CREATE {DATABASE|SCHEMA} 数据库名;
。
mysql> CREATE DATABASE Stu1;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE DATABASE IF NOT EXISTS Stu1;
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| stu1 |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
查看Stu1数据库的定义:
mysql> SHOW CREATE DATABASE Stu1;
+----------+---------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------+
| Stu1 | CREATE DATABASE `Stu1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)
数据表的创建
CREATE TABLE IF NOT EXISTS 表名;
其中添加表的时候需要进行完整性约数,完整性约束在《数据库系统概论》里面是:数据库中数据的正确性、一致性、相容性,但是实际操作中具体是什么样子?先挖个坑。
除了表名之外,其它都需要进行大写
mysql> USE Stu1
database changed
mysql> CREATE TABLE IF NOT EXISTS test2(
-> name VARCHAR(20) NOT NULL,
-> age INT NOT NULL,
-> school VARCHAR(50) NOT NULL
-> )ENGINE = InnoDB
-> ;
Query OK, 0 rows affected (0.25 sec)
查看表:
1、DESC 表名;
2、DESCRIBE 表名;
3、SHOW COLUMNS FROM 表名;
mysql> SHOW COLUMNS FROM test2;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name | varchar(20) | NO | | NULL | |
| age | int(11) | NO | | NULL | |
| school | varchar(50) | NO | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
使用Navicat Premium可以看到表已经创建成功:
删除数据库和数据表
一般情况下,普通用户无权删除或者创建数据库,所以要使用root用户登录。在删除数据库或者数据表时,要十分谨慎,如果执行了删除命令,那么所有数据就会消失。
drop命令删除数据库:DROP DATABASE 数据库名;
drop命令删除数据表:DROP TEBLE 表名;
数据库支持的数据类型
数据库支持的数据类型有短整型、整型、长整型、字符串、text、可变字符串、浮点数(总共位数,小数点后几位)等这些。
日期和时间类型
主要使用的是YEAR类型。
mysql> CREATE TABLE test9(
-> birth YEAR
-> );
Query OK, 0 rows affected (0.33 sec)
mysql> INSERT test9 VALUES(2155);
mysql> SHOW COLUMNS FROM test9;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| birth | year(4) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> INSERT test9 VALUES(2105);
mysql> SELECT * FROM test9;
+-------+
| birth |
+-------+
| 2155 |
| 2105 |
+-------+
2 rows in set (0.00 sec)