|
| 1 | +[TOC] |
| 2 | + |
| 3 | +# 一、初识数据库 |
| 4 | + |
| 5 | +## 1、什么是数据库 |
| 6 | + |
| 7 | +数据库叫database ,简称DB,数据库就是存放数据的仓库,专业的数据库系统具有较小的数据冗余度,较高的数据安全性,易扩展性。 |
| 8 | + |
| 9 | +mysql主要优势: |
| 10 | + |
| 11 | +1. 运行速度快 |
| 12 | +2. 使用成本低 |
| 13 | +3. 容易使用 |
| 14 | +4. 可移植性强 |
| 15 | +5. 适用更多用户 |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +## 2、数据库分类 |
| 20 | + |
| 21 | +| 关系型数据库 | 非关系型数据库 | |
| 22 | +| :-------------: | :------------: | |
| 23 | +| MySQL | | |
| 24 | +| Oracle | | |
| 25 | +| SQL Server | | |
| 26 | +| maradb | | |
| 27 | +| db2(银行系统) | | |
| 28 | +| | | |
| 29 | + |
| 30 | +关系型数据库能保证数据的一致性,能建立关系。 |
| 31 | + |
| 32 | +非关系型数据库:放在不同的服务器上 |
| 33 | + |
| 34 | +## 3、DBMS、DBS、DBA区别 |
| 35 | + |
| 36 | +1. DBMS是数据库管理系统,是一种系统软件,包括数据库和用于数据库访问管理的接口系统,通常将DBMS直接称为数据库,严格意义上说mysql属于DBMS |
| 37 | +2. DBS是一个实际可运行的系统,由软件、数据库、数据库管理员组成 |
| 38 | +3. 数据库管理员 |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | +## 4、mysql的安装及mysql语句 |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | +- 默认端口号:3306 |
| 49 | +- 启动mysql服务方式: |
| 50 | + 1. 任务管理器打开 |
| 51 | + 2. 命令行输入:service(查看本地服务) |
| 52 | + 3. dos窗口输命令:net start mysql |
| 53 | + |
| 54 | +- MysqlInsranceConfig:配置向导 |
| 55 | +- programDate:数据文件的保存路径(默认是隐藏的,在C盘下) |
| 56 | +- mysql的安装目录下的my.ini文件:相应的一些配置,可配置编码格式等 |
| 57 | +- mysql -uroot -paaaaa123 进入mysql |
| 58 | +- show databases显示所有的数据库 |
| 59 | +- select version()显示mysql版本号 |
| 60 | + |
| 61 | +# 二、DDL语句创建数据库和数据表 |
| 62 | + |
| 63 | +## 1、mysql语句(在dos窗口下) |
| 64 | + |
| 65 | +1、cmd——以管理员身份运行 |
| 66 | + |
| 67 | +2、启动mysql数据库服务:net start mysql |
| 68 | + |
| 69 | +2、登录mysql:mysql -uroot -paaaaa123(或者:mysql -hlocalhost -uroot -paaaaa123)注意-p以后不能有空格 |
| 70 | + |
| 71 | +4、exit退出mysql |
| 72 | + |
| 73 | +5、show databases;(显示数据库,一定要加分号) |
| 74 | + |
| 75 | +6、use mysql |
| 76 | + |
| 77 | +7、show tables(显示数据库中的表) |
| 78 | + |
| 79 | +8、sql语句select * from user\G;显示user用户列表 |
| 80 | + |
| 81 | +9、修改user用户密码: |
| 82 | + |
| 83 | +update user set password=password'(1234' ) where user=‘root’; |
| 84 | + |
| 85 | +flush privileges;刷新下 |
| 86 | + |
| 87 | +10、?寻求帮助 |
| 88 | + |
| 89 | +## 2、结构化查询语句SQL分类 |
| 90 | + |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | + |
| 95 | +## 3、创建数据库 |
| 96 | + |
| 97 | +CREATE DATABASE IF NOT EXISTS school; |
| 98 | + |
| 99 | +## 4、使用数据库 |
| 100 | + |
| 101 | +USE school; |
| 102 | + |
| 103 | +## 5、删除数据库 |
| 104 | + |
| 105 | +DROP DATABASE IF EXISTS school; |
| 106 | + |
| 107 | +## 6、显示表结构 |
| 108 | + |
| 109 | +desc+表名 |
| 110 | + |
| 111 | +## 7、显示表创建语句 |
| 112 | + |
| 113 | +show create table 表名 |
| 114 | + |
| 115 | +## 8、创建数据表 |
| 116 | + |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | +### 1、每一列后面有一个英文逗号,最后一列没有逗号 |
| 122 | + |
| 123 | +### 2、数据值和列类型 |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | + |
| 128 | + |
| 129 | + |
| 130 | + |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | + |
| 139 | +### 3、数据字段属性 |
| 140 | + |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | +### 4、注意点: |
| 146 | + |
| 147 | +- 表名如果变蓝了表明和数据库有冲突,这时候要加上反引号·(tab正上方) |
| 148 | +- 字符串类型的要用单引号引起来(英文单引号) |
| 149 | +- 有多个属性的时候用空格隔开就好 |
| 150 | +- 注释:给字段加注释直接commeent'注释内容',给表注释要用commeent=‘注释内容’ |
| 151 | + |
| 152 | +### 5、代码 |
| 153 | + |
| 154 | +```java |
| 155 | +#使用语句构建student表 |
| 156 | +#学号int 登录密码varchar(100) 姓名 性别verchar(2) |
| 157 | +#出生日期(datatime) email |
| 158 | +CREATE TABLE IF NOT EXISTS `student`( |
| 159 | + id INT(4) PRIMARY KEY AUTO_INCREMENT COMMENT'主键、学号', |
| 160 | + psd VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码', |
| 161 | + `name` VARCHAR(30) NOT NULL DEFAULT'匿名' COMMENT'学生姓名', |
| 162 | + sex VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别', |
| 163 | + birsday DATETIME, |
| 164 | + email VARCHAR(20) |
| 165 | +) |
| 166 | +``` |
| 167 | + |
| 168 | + |
| 169 | + |
| 170 | +### 6、查看数据库定义的语句: |
| 171 | + |
| 172 | +show create database school |
| 173 | + |
| 174 | +### 7、查看数据表的定义 |
| 175 | + |
| 176 | +show create table student |
| 177 | + |
| 178 | +在结果下面右键,复制单元格数据到剪贴板,即可显示 |
| 179 | + |
| 180 | +## 9、保存sql文件以及打开sql文件 |
| 181 | + |
| 182 | +保存Ctrl+s |
| 183 | + |
| 184 | + 新建查询编辑器——在同一标签中打开文件(在不同标签中打开) |
| 185 | + |
| 186 | +对于图像声音视频用text、blob存储数据 |
| 187 | + |
| 188 | +一般没有必要直接存储图像,而存储的是路径用字符串 |
| 189 | + |
| 190 | +## 10、设置严格检查模式 |
| 191 | + |
| 192 | +set sql_mode='strict_trane_tables'; |
| 193 | + |
| 194 | +## 11、修改自增列的初始值 |
| 195 | + |
| 196 | +CREATE TABLE test3( |
| 197 | + |
| 198 | + xuhao INT(4) PRIMARY KEY AUTO_INCREMENT, |
| 199 | + |
| 200 | + `name` VARCHAR(20) |
| 201 | + |
| 202 | +)AUTO_INCREMENT=100 |
| 203 | + |
| 204 | +一定要在创建表后进行修改 |
| 205 | + |
| 206 | +## 12、修改自增列的步长 |
| 207 | + |
| 208 | +SET @@auto_increment_increment=5; |
| 209 | + |
| 210 | +**注意:改变自增列的初始值只影响当前表,但是改变自增列步长会影响所有使用自增列的值** |
| 211 | + |
| 212 | +## 13、同一个列可以被多个属性同时修饰,但是要注意属性的顺序 |
| 213 | + |
| 214 | +## 14、注释 |
| 215 | + |
| 216 | + |
| 217 | + |
| 218 | +注意,表注释要加等号 |
| 219 | + |
| 220 | +## 15、数据表类型 |
| 221 | + |
| 222 | + |
| 223 | + |
| 224 | + |
| 225 | + |
| 226 | + |
| 227 | + |
| 228 | +## 16、数据表的储存位置 |
| 229 | + |
| 230 | + |
| 231 | + |
| 232 | +## 17、设置数据库、数据表的字符集 |
| 233 | + |
| 234 | + |
| 235 | + |
| 236 | + |
| 237 | + |
| 238 | + |
| 239 | + |
| 240 | + |
| 241 | + |
| 242 | +## 18、修改数据表 |
| 243 | + |
| 244 | + |
| 245 | + |
| 246 | + |
| 247 | + |
| 248 | +```java |
| 249 | +#修改表 |
| 250 | +#1、修改表名 |
| 251 | +ALTER TABLE students RENAME TO student; |
| 252 | +#2、添加字段 |
| 253 | +ALTER TABLE student ADD MyPsd VARCHAR(20) DEFAULT NULL; |
| 254 | + |
| 255 | +#3、修改字段 |
| 256 | +ALTER TABLE student CHANGE MyPsd mypsd VARCHAR(30); |
| 257 | + |
| 258 | +#4、删除字段 |
| 259 | +ALTER TABLE student DROP mypsd; |
| 260 | + |
| 261 | +#5、添加主键约束 |
| 262 | +ALTER TABLE student ADD CONSTRAINT `student_no` PRIMARY KEY student(StudentNo); |
| 263 | + |
| 264 | +#6、添加外键约束 |
| 265 | + |
| 266 | +#7、删除表 |
| 267 | +DROP TABLE IF EXISTS test1; |
| 268 | +``` |
| 269 | + |
| 270 | + |
| 271 | + |
| 272 | + |
| 273 | + |
| 274 | + |
| 275 | + |
| 276 | + |
| 277 | + |
| 278 | + |
| 279 | + |
| 280 | + |
| 281 | + |
| 282 | + |
| 283 | + |
0 commit comments