Linux下mysql的基本操作

该博客是MySQL笔记,涵盖语法特点与注意事项,如关键字使用、大小写不敏感等。介绍了CSV导入导出、数据库与表的创建、查看、删除等操作,还阐述了数据类型、字段属性、索引创建,以及SQL语言设计(DDL、DML、DQL、DCL)和内置函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql笔记

       语法特点:可连续使用多个关键字,以空格分开即可,以;结尾
  2    0.注意事项
  3          \s 返回详细信息
  4          每句完成后加分号;
  5          帮助的使用 ?+关键字
  6                     ? contents
  7                     ? 命令/函数/语言结构
  8          不区分大小写
  9         
 10      csv导入
 11      create table table_name(...)
 12      load data local infile 'lujing' into table table_name fields terminated     by','      lines terminated by '\n';
 13      csv导出
 14      select * from into outfile '/var/lib/mysql-files/...' fields terminated     by ',' lines terminated by '\n';
 15    1.开启与关闭
 16          service mysql start/stop
 17          mysql -u root -p
 18          quit/exit
 19    2.创建/查看/删除库
 20          create database name;
 21          show databases;
 22          drop database database_name;
 23          or drop database if exists database_name;
 24
 25    3.在库中创建/查看/查看结构/删除表
 26          create table database_name.table_name(属性1 数据类型,属性2...);
 27          show tables;
 28          desc table_name;
 29          drop table if exists table_name;
 30
 31    4.选择默认库
 32          use database_name;
 33          此时创建表即可免去 database_name.
 34
 35    5.数据增/删/改/查
 36          全部字段插入
 37          insert into table_name values<>(注:按表结构的顺序写)
 38                   eg. insert into table1 values<'2','zhangsan',...>;
 39          局部选择插入
 40                   eg. insert into  table1<id,name> values<'1','zhangsan'>;
 41          查找数据
 42          select * from table_name;  select distinct ...(可去除重复)

 43          修改数据
 44          update table_name set 属性1=‘’,属性2=‘’ where 筛选条件;
 45          删除数据
 46          delect from table_name where 筛选条件;
 47          删除所有数据
 48          truncate table_name;
 49
 50
 51
 52     详细说明
 53     0.符号说明
 54          []是可选项
 55
 56     1.创建表(二维)
 57       creta table [if not exists] 表名称(
 58               字段名1 列数据类型 [属性][索引]
 59               ...
 60               字段名n 列数据类型 [属性][索引]
 61       )[表类型][表字符集][表属性];
 62
 63     2.数据类型
 64         1. 数值型  整型
 65                        tynyint   非常小       1字节  -128--127  0--255
 66                        smallint  比较小       2字节  -32768--32767
 67                        mediumint 中等大小     3字节  -2147483648--2147483647
 68                        int       标准整型     4字节
 69                        bigint    大整型       8字节
 70                   浮点型
 71                        float(总位数,保留位数)     4字节
 72                        double(总位数,保留位数)    8字节
 73                        定点数
 74                        decimal(总位数,保留位数)   总位数+2

 77         2. 字符型
 78                  ""  ''       最大长度255,可通过m变长短内容
 80                  char(m)                255  固定长度
 81                  varchar(m)          255  可变长度
 82
 83                  char(4)                             varchar(4)
 84                  ''             4字节                  ''          1字节
 85                  'ab'        4字节                  'ab'        3字节
 86                  'abcd'    4字节                  'abcd'      5字节
 87                  'abcdef' 4字节(截断        'abcdef'    5字节
 88
 89                  char 费内存,但速度快   用了长度基本固定       如性别
 90                  varchar 省内存,速度慢  用于长度变化大的时候   如文章标题
 91
 92                  长内容(文章)
 93                  text 文本数据
 94                       MEDIUMTEXT
 95                  blob 二进制数据(相片)
 96                       MEDIUMBLOB
 97                       LONGBLOB
 98
 99         3. 日期型
100                   date       YYYY-MM-DD  YYYYMMDD
101                   time       hh:mm:ss    hhmmss
102                   datatime   YYYY-MM-DD hh:mm:ss
103                   timestamp  YYYYMMDDhhmmss
104                   year       YYYY
105
106                  注:以上通常不用, 通常用整数保存时间,方便运算。
107                  time();

108                  int
109
110      3.数据字段属性
111              1.unsigned   无符号,用于增加空间
112
113              2.zerofill   前导0,用0补充(无符号)
114
115              3.auto_increment 自动增长
116                           当置空时从最大值开始自动+1
117              4.null / not null
118                create table tb1<id int not null,name varchar<30> not null>;
119                传入空值时警告
120
121              5.default 缺省值
122                create table tb1<id int not null default 0,name varchar<30>                 not null>;  null 设置为0
123
124              6.primary key 主键,唯一识别
125          CREATE TABLE users<
126                  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
127                  name VARCHAR<30> NOT NULL DEFAULT '',
128                  height DOUBLE<10,2> NOT NULL DEFAULT 0.00,
129                  age INT NOT NULL DEFAULT 0,
130                  sex CHAR<4> NOT NULL DEFAULT '男'
131
132                  >;
133
134      4.创建索引
135              1.主键索引 primary key
136                用于确定数据库表里一条特定数据记录的位置
137                一个表只能又一个主键,主键值不能为空
138
139              2.唯一索引 unique
140                避免数据重复,一个表可以有多个唯一索引
141
142              3.常规索引 (层次索引)
143
144                可提升数据库的性能
145                提高了查找的速度,但减慢了插入/删除/修改的速度

148              4.全文索引
149
150      5.数据表类型
151              有12种
152              一个数据库可以有多个不同的表类型
153              默认MyISAM表类型 强调快速读取操作
154                               optimize table table_name
155              create table () type/engine InnoDB;
156
157              InnoDB表类型  空间占用量大,读写操作速度慢
158
159             功能               MyISAM        InnoDB
160             事务处理           不支持        支持
161             数据行锁定         不支持        支持
162             外键约束           不支持        支持
163             表空间占用         小            大
164             全文索引           支持          不支持
165
166       6.MySQL默认字符集
167             show character set 查看支持的字符集
168             gb2312-80(gb国标)  双字节  6000+个字+600符号
169             gb13000
170             gbk gb2312-80扩展
171             ACSII
172             ISO-8859-1
173
174             UTF-32
175             USC-2
176             UTF-16
177             UTF-8    1-4字节
178             一个汉字 GBK 2字节 UTF8 3字节
179             根据需求选择字符集
180
181       7.修改表结构 alter table
182             ? alter table
183             增加属性 add
184               alter table t1 add 属性 类型 after 属性/first;
185             修改类型 modify
186               alter table t1 modify sex char<3>;

187             修改属性 change
188          alter table t1 change name(原属性名) username(修改名) varchar<30>;          alter table rename as users;
189
190
191       8.SQL语言设计
192             1.数据定义语言(DDL)
193                     create/drop/alter
194
195             2.数据操作语言(DML)
196                     insert/update/delete
197                     insert into 表名([字段]) valuse(值)
198                     update 表名 set 字段='值' [条件]
199                     delect from 表名 [条件]
200                     条件  where...
201                     分次插入用update
202
203             3.数据查询语言(DQL)
204                     支持数学运算/逻辑运算/比较运算
205                      +-*/        && || !  = != > in ...
206                                            <=>等号功能一样,且多能判断空值
207                                            is null,between...and
208                                   模糊查找 like,not like  _任意一个字符
209                                                           %0个或多个字符
210                                   正则查询 regexp,rlike
211                     select
212                     select   [all|distinct] {*/table.*/...}
213                                    默认 all
214                                    distinct 过滤重复
215                              from 表名
216
217                     where    条件
218
219                     group by 分组
220                              select cid,sum(price) from table group by cid;
221                              对cid进行统计
222
223                     having   分组后的条件
224                              select cid,sum(price) from table group by cid
225                              having sum(price)>500;
226
227                     order by 排序
228                              order by 属性1,属性2,...  [asc]/[desc] 正序/倒序
229
230                     limit
231                              limit n1,n2  限制显示的条数,从第(n1-1)条开始,共显示n2条数据
232                    多表查询
233                              select 表名.属性,表名.属性 from table1,table2.
234                              select c.name cname,a.name name from table1 a,
235                                                                   table2,c
236                    嵌套查询  select * from table1 where id in(select id
237                              from...);
238
239                    统计函数  count()
240                              sum()
241                              avg()
242                              max()
243                              min()
244             4.数据控制语言(DCL)
245
246      9.内置函数
247             用在select以及子句 where, order by ,having,update,delete
248             可将属性当作变量,进行全体运算
249             1.字符串函数
250                      concat(s1,s2,...)  将传入的参数连接成字符串
251                      insert(s1,x,y,s2)  将s1中的从第x位开始 +y位 替换成上s2
252                      lower(str) upper(str) 将字符串转成小写/大写

253                      left(str,x) right(str,x) 返回最左/右 x个字符
254                      lpad/rpad(str,n,pad),在str的左/右补充pad至n个字符
255                      trim/ltrim/rtrim(s) 除去两边/左边/右边空格
256                      replace(str,a,b) 用b替换str中的a
257                      strcmp(s1,s2)  根据ASCII比较字符串大小 <-1 =0 >1
258                      substring(str,x,y) 返回str中从x位起y个字符串
259
260             2.数值函数
261                      abs(x)  绝对值
262                      ceil(x) 返回大于x的最小整数 进一
263                      floor(x)返回小于x的最大整数 退一
264                      mod(x,y)求余
265                      rand()  0,1的随机
266                      round(x,y) x的四舍五入 保留y位小数
267                      truncate(x,y) x截断为y位小数
268
269             3.日期函数
270                      select curdate();  当前日期
271                      select curtime();  当前时间
272                      select now();      当前日期加时间
273                      unix_timestamp     19710101 00:00:00到现在的秒数
274                                         计算机元年
275                      select from_unixtime(时间戳) 时间戳对应的时刻
276
277                      date_format        自定义时间格式
278
279             4.流程控制函数
280                      if(条件语句,t f)  真 返回t 假返回f
281                              select if(salary>3000,'hight','low');
282
283                      ifnull(value1,value2);空返回value2,非空value1
284
285                      case when [条件] then [result1] else [result2] end;
286                                 条件真返回result1 否则返回result2
287
288             5.其它函数
289                      database()  返回当前数据库名
290                      user()      用户
291                      inet_aton(ip) 数字ip地址
292                      inet_ntoa()   逆操作
293                      password    MySQL密码加密
294                      md5()       密码加密

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值