Java学习十六
今天学习了一小部分SQL的知识,并且进行了Java语言编程练习。
一、SQL
1、结构化查询语言,定义了操作所有关系型数据库规则,每种数据库操作方式存在不同,这种差异称为“方言”。
2、SQL通用语法
(1)SQL可以单行或多行书写,以分号结尾;
(2)可使用空格和缩进增强语句的可读性;
(3)mysql数据库的SQL语句不区分大小写,关键字建议大写。
(4)注释:单行注释:--空格+内容,或#+内容。空格不可省略;多行注释:/**/
3、SQL分类
(1)DDL数据定义语言,定义数据库、表、列等,主要作用为操作数据库。关键字:create,drop,alter
(2)DML数据库操作语言,对数据库、表的数据进行增删改查,关键字:insert,delete,update
(3)DQL数据查询语言,查询数据,关键字:select,where
(4)DCL数据控制语言,定义访问权限和安全控制,关键字GRANT,REVOKE
二、DDL操作数据库、表
1、create(C):创建
create database +名称,创建一个数据库;create database if not exists +名称,x先判断再创建;create database +名称 character set +字符集名称,创建一个规定字符集的数据库。
2、Retrieve(R):查询
show databases; 查询所下载的数据库;show create database+名称; 查询数据库所使用的字符集。
3、update(U):修改,alter database+名称 character set +字符集名称; 修改数据库所使用的字符集。
4、delete(D):删除,
drop database +名称; 直接删除数据库;drop database if exists +名称; 先判断再删除;
5、使用数据库
查询当前使用的数据库:select database();
使用数据库:use+名称。
三、编程练习
下面的两道编程题使用了相同的思想
1 2 import java.util.Scanner; 3 4 //题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 5 public class Lianxi22 { 6 public static void main(String[] args) { 7 Scanner sc=new Scanner(System.in); 8 System.out.print("请输入一个整数:"); 9 long m=sc.nextLong(); 10 String s=Long.toString(m);//转化为字符串,便于计算 11 char[] ch=s.toCharArray();//存入数组 12 int j=ch.length; 13 System.out.println("这是一个"+j+"位数"); 14 for(int i= ch.length-1;i>=0;i--){ 15 System.out.print(ch[i]); 16 } 17 } 18 }
1 import java.util.Scanner; 2 3 //题目:一个奇数位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 4 public class Lianxi23 { 5 public static void main(String[] args) { 6 while(true) { 7 Scanner sc = new Scanner(System.in); 8 System.out.print("请输入一个数:"); 9 long s = sc.nextLong(); 10 String s1 = Long.toString(s); 11 char[] ch = s1.toCharArray(); 12 int j = ch.length; 13 if (j % 2 == 0) { 14 System.out.println("输入错误!请重新输入。"); 15 } 16 for (int i = 0; i < j / 2; i++) { 17 if (ch[i] != ch[j - i - 1]) { 18 System.out.println("该数不是回文数"); 19 } else { 20 System.out.println("该数是回文数"); 21 break; 22 } 23 } 24 25 System.out.println("是否继续?1、继续;2、退出"); 26 int m= sc.nextInt(); 27 if(m!=1) System.exit(0); 28 } 29 } 30 }