sql

来源:互联网 发布:淘宝草根vr工厂 编辑:程序博客网 时间:2024/05/20 08:44

 MySQLite:

1 .使用命令登录:

mysql -h (ip地址) -P 端口 -u 用户名 -p

2 .SQL语法分为

 2.1.DDL(Data Definition Language)  :
  CREATE(创建) ,ALTER(修改),DROP(删除),RENAME
 2..2DML(Data Manipulation Language) :
  SELECT(查询),INSERT(插入),DELETE(删除),UPDATE(更新)
 2.3.DCL(Data Control Language) :
  GRANT , REVOKE
 2.4.TCL(Transaction Control Language) :
   COMMIT, SAVEPOINT, ROLLBACK

3 使用数据库

1.查看数据库
SHOW DATABASES ;
3 2.使用数据库
USE 数据库名 ;
32.查看数据表
SHOW TABLES ;
33.查看数据表结构
DESCRIBE 表名;
4 数据表
41.创建表
    

  CREATE TABLE 表名 (字段名 字段类型,字段名 字段类型... ...) ;
tips:一般来说我们在字段中都会带有一个int类型的id值。用于今后的数据操作。

4.2.删除表
DROP TABLE 表名;

5     SQL数据类型
整数:integer(size)/int(size), smallint(size) , tinyint(size)


浮点型:decimal (size, d)/numberic(size, d)  size:数字位数  d:小数位数


字符:char(size) 固定长度的字符串 size:字符串长度。
varchar(size) 可变长度的字符串 size: 字符串最大长度。
TEXT 长度更长的字符串
日期 : date(yyyymmdd)

5 修改表:
51.重命名表名:
ALTER TABLE 表名 RENAME 新表名;5.重命名一列:
52.向表中添加一列:ALTER TABLE 表名 CAHNGE 
ALTER TABLE 表名 ADD 字段名 字段类型 ;   COLUMN 旧字段名 新字段名 新字段
53.删除表中一列:类型 ;
ALTER TABLE 表名 DROP COLUMN 列名 ;
54.修改表中一列的数据类型:
ALTER TABLE 表名 MODIFY 字段名 字段类型 ;

插入数据

5.5全字段插入:INSERT INTO 表名 VALUES(值1,值2,值3...) ;

5.6部分字段插入:INSERT INTO 表(列名1,列名3...) VALUES(值1,值3...)

6 数据库查询:重点

6.1从一张表中查询出指定列的数据SELECT 列名1,列名2... FROM 表名 ;

6.2从一张表中查询出所有列的数据SELECT * FROM 表名 ;

6.3SELECT语句用于从表中查询数据,得到的数据会存入一张表中,这张装载结果的表,通常被叫做结果集。各种软件系统中都有moveto的函数用于在结果集中导航。

6.4选择条件:WHERE关键字用于规定语句的执行条件。如果在查询语句后,加上WHERE语句,将可以限定查询的结果SELECT * FROM 表名 WHERE 列名 = 某值 ;
此为查询指定列名中为某值的所有数据的所有列数据。

6.4.1AND,OR运算符:

6.4.1.1需要同时成立:
SELECT * FROM 表名 WHERE 列1 = 值1 AND 列2 = 值2 ;

6.4.1.2其中一个成立的:
SELECT * FROM 表名 WHERE 列1 = 值1 OR 列2 = 值2 ;

6.4.2IN关键字:IN允许我们在WHERE中规定多个值,用于搜索数据。SELECT * FROM 表名 WHERE 列 IN (值1,值2,值3);表示该列符合值1,值2,值3的数据都会返回。当然这个查询语句也可以使用OR实现SELECT * FROM 表名WHERE 列1 = 值1 OR 列1 = 值2 OR 列1 =  值3 ;

6.4.3:排序
如果想要返回的结果按照升序或降序排列,可以使用ORDER BY关键字:
1. 升序
SELECT * FROM 表名 ORDER BY (排序所依照的)列名 ;
2.降序
SELECT * FROM 表名 ORDER BY  列名 DESC;
TIPS:如果排序所用列值一样,将会排在一起,然后以所查询的下一列的升序排列。

6.4.4:唯一值在表中,可能有多行数据的同一列数据有同样的值,这样如果我们只查询此列的数据时,同样的值将会产生某些困扰,此时我们可以使用DISTINCT关键字让我们的放回值不再重复。SELECT DISTINCT 列名 FROM 表名 ;

6.4.5:TOP关键字
在表中我们查询的结果有时候,并不需要所有的数据,而只需要前几行数据,那么这个时候我们就可以使用TOP关键字。
MYSQL不适用SELECT TOP 数量的写法,而使用LIMIT 数量。
SELECT * FROM 表名 LIMIT 需要返回的行数 ;
SELECT * FROM 表名 LIMIT 下标(从0开始数),需要返回的行数 ;

6.4.6:更新(修改)数据
修改表中数据:
UPDATE 表名 SET 列名 = 新值 WHERE 列名 = 指定数据 ;
如果不带有条件限定将会导致此表所有数据的此字段都修改为新值。

6.4.7:删除语句
DELETE  FROM 表名 WHERE 列名 = 某值 ;
删除该表符合条件的每一行数据。
不带有WHERE条件,将删除该表中所有数据。

6.5:模糊查询
模糊查询,使用较多,其实就是使用使用少量数据取匹配出我们要查询的数据。如我要找带有‘on’字符串的单词如‘LONDON’。在SQLite语法中,我们要实现模糊查询,需要学习:LIKE关键字和通配符。

6.5.1:通配符
在查询中,我们可以使用通配符去代替我们需要填入的字符。
1.%,用来匹配一个或多个字符。
2._ ,用来匹配仅一个字符。
3.[多个字符],用来匹配多个字符中的一个(MySQL不支持)。
4.[!多个字符],用来匹配非多个字符中的一个(MySQL不支持)。
TIPS:通配符与LIKE必须一起使用。

6.5.2:LIKE关键字
模糊查询,使用较多,其实就是使用使用少量数据取匹配出我们要查询的数据。如我要找带有‘on’字符串的单词,如‘LONDON’。在SQLite语法中,我们要实现模糊查询,需要学习:LIKE关键字和通配符。
SELECT * FROM 表名 WHERE 列名 LIKE '_n%' ;
查询这个表中此字段内,第二个字符为n的数据。

0 0
原创粉丝点击