Mysql中把若干个类型形同的表的集合叫做数据库,Mysql服务器管理着多个数据库,每个数据库下面都可以有若干个表。
1.启动和关闭数据库服务器;客户端的登录:
net start mysql80 (注意没有分号)
net stop mysql80
C:\WINDOWS\system32>net stop mysql80 MySQL80 服务正在停止. MySQL80 服务已成功停止。 C:\WINDOWS\system32>net start mysql80 MySQL80 服务正在启动 ... MySQL80 服务已经启动成功。
mysql -uroot -p+密码 (注意没有分号)
\q (没有分号)
1 C:\WINDOWS\system32>mysql -uroot -p1234567890 2 mysql: [Warning] Using a password on the command line interface can be insecure. 3 Welcome to the MySQL monitor. Commands end with ; or \g. 4 Your MySQL connection id is 8 5 Server version: 8.0.15 MySQL Community Server - GPL 6 7 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 8 9 Oracle is a registered trademark of Oracle Corporation and/or its 10 affiliates. Other names may be trademarks of their respective 11 owners. 12 13 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 14 15 mysql> \q 16 Bye
2.几个基本的数据库操作命令(写在Mysql后面的命令要加上分号,可在CMD下运行):
show databases; 显示所有数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database dbanme; 删除指定的数据库 flush privileges; 刷新数据库 update user set password=password('123456')where user='root'; 修改密码 show tables; 显示数据库mysql中所有的表 describe user; 显示表mysql数据库中user表的列信息 ; \g \G 都可以作为命令结束的符号; exit; 退出MySql的客户端登录 ? 命令关键词 : 寻求帮助 # 表示注释 IF EXISTS 和 IF NOT EXISTS在创建和删除数据库时都可以避免错误的产生
3.结构化查询语言(sql)
分类如下:
4.1数据库表的创建(属于DDL的一种):
语法如下(反引号来区分保留字和普通字符):
create table [if not exists] `表名`( '字段名1' 列类型 [属性][索引][注释], '字段名2' 列类型 [属性][索引][注释], #... '字段名n' 列类型 [属性][索引][注释] )[表类型][表字符集][注释];CREATE TABLE IF NOT EXISTS `student` (
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别', `birthday` datetime DEFAULT NULL COMMENT '生日', `address` varchar(100) DEFAULT NULL COMMENT '地址', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
创建结果如下:
mysql> describe student;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(4) | NO | PRI | NULL | auto_increment |
| name | varchar(30) | NO | | 匿名 | |
| pwd | varchar(20) | NO | | 123456 | |
| sex | varchar(2) | NO | | 男 | |
| birthday | datetime | YES | | NULL | |
| address | varchar(100) | YES | | NULL | |
| email | varchar(50) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
4.2Mysql 数据表的类型:
4.3数据库表的修改:
- 修改表名 :
- ALTER TABLE 旧表名 RENAME AS 新表名
- 添加字段 :
- ALTER TABLE 表名 ADD字段名 列属性[属性]
- 修改字段 :
- ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]
- 删除字段 :
- ALTER TABLE 表名 DROP 字段名
删除表 : DROP TABLE [IF EXISTS] 表名
- IF EXISTS为可选 , 判断是否存在该数据表
- 如删除不存在的数据表会抛出错误